0
我在我的代码这一点,如果我可以在Java8中引用方法名称吗?
if (method.getName().equals("ignore")) {
它指向一个静态方法。
我可以拨打getName
MyClass::ignore
??
我在我的代码这一点,如果我可以在Java8中引用方法名称吗?
if (method.getName().equals("ignore")) {
它指向一个静态方法。
我可以拨打getName
MyClass::ignore
??
不,没有静态(编译时间)的方式来引用方法作为Method
对象。您必须通过Class#getMethod(..)
(或其他适当的方法)动态检索它。或者使用String
的值作为您当前的名字。
以上是什么类型的'方法'?还是假设? – 2014-09-29 15:42:38
[使用反射调用静态方法]的可能重复(http://stackoverflow.com/questions/2467544/invoking-a-static-method-using-reflection) – 2014-09-29 15:47:14
我感觉这里可能的XY问题类型的问题。有一个简短的答案,以及更长的更正确的答案,这将取决于我们不知道的背景信息,直到您告诉我们。换句话说,可能有更好的方法来做你想做的事情,而不是试图以这种方式获得方法名称。请告诉我们您的问题的详细信息,而不是您如何解决问题,以便我们提供准确的帮助。 – 2014-09-29 15:49:35