假设我有一堆带有方法的类,例如
class A {
public void foo();
}
可以在另一个类中编写函数吗?
public String getMethodName(Function<?> func) { ... }
例如,在使用任何方法引用进行调用时
String val = getMethodName(A::foo);
是否将方法的名称作为String返回,在此示例中为"foo"
?
答案 0 :(得分:0)
只能通过字节码反编译,因为
foo(Baz::bar)
是...的语法糖
class SomeFakeName implement Interface {
public void methodName() {
Baz.bar();
}
}
foo(new SomeFakeName())
我假设以下声明:
void foo(Interface p){}
interface Interface {
void methodName();
}