检测 Java 中是否存在方法/函数

2022-09-03 16:36:26

Java中是否有方法/函数可以检查另一种方法/函数是否可用,就像在PHP中一样?function_exists(functionName)

这里我指的是静态类的方法/函数。


答案 1

您可以使用反射来找出Java中是否存在方法。

获取您感兴趣的类的 Class 对象,并调用 getMethod() 及其上的方法名称和参数类型。

如果该方法不存在,它将抛出一个NoSuchMethodException

另外,请注意,“函数”在Java中称为方法。

最后但并非最不重要的一点是:请记住,如果您认为自己需要这个,那么您很可能手头有设计问题。反射(这是检查实际Java类的方法所称呼的)是Java的一个相当专门的功能,通常不应该在业务代码中使用(尽管它被大量使用,并且在一些常用库中产生了一些不错的效果)。


答案 2

我怀疑你正在寻找Class.getDeclaredMethodsClass.getMethods,它们会给你一个类的方法。然后,您可以测试您要查找的那个是否存在,以及它的参数是什么等。