2014-09-29 53 views
0

我在我的代码这一点,如果我可以在Java8中引用方法名称吗?

if (method.getName().equals("ignore")) { 

它指向一个静态方法。

我可以拨打getNameMyClass::ignore ??

+0

以上是什么类型的'方法'?还是假设? – 2014-09-29 15:42:38

+0

[使用反射调用静态方法]的可能重复(http://stackoverflow.com/questions/2467544/invoking-a-static-method-using-reflection) – 2014-09-29 15:47:14

+1

我感觉这里可能的XY问题类型的问题。有一个简短的答案,以及更长的更正确的答案,这将取决于我们不知道的背景信息,直到您告诉我们。换句话说,可能有更好的方法来做你想做的事情,而不是试图以这种方式获得方法名称。请告诉我们您的问题的详细信息,而不是您如何解决问题,以便我们提供准确的帮助。 – 2014-09-29 15:49:35

回答

2

不,没有静态(编译时间)的方式来引用方法作为Method对象。您必须通过Class#getMethod(..)(或其他适当的方法)动态检索它。或者使用String的值作为您当前的名字。

相关问题