是字符串方法的名称吗?为什么或者为什么不?
所以,如果我有类似的东西:
public static int METHODNAME (some parameters or not)
{
something to do ;
}
METHODNAME是一个字符串?
答案 0 :(得分:6)
不,这是一个象征。但是,通过reflection,您可以使用其名称的字符串版本查找该方法,如果这有用的话。
答案 1 :(得分:3)
如果你问你是否可以这样做:“methodName”()或$ command()并让它在PhP中执行你可以命名的方法。答案是否定的。
如果您询问方法名称是否在某处存储为String,则答案是肯定的。您可以使用反射访问它。例如:
Method[] methods = Double.class.getMethods();
for(Method m : methods) {
System.out.println("Method: "+m.getName());
}
参考您的编辑。不,它不是该上下文中的字符串。
答案 2 :(得分:1)
你可以这样做,大卫:
import java.lang.reflect.*;
Class C = Class.forName("yourClass");
Method methods[] = C.getDeclaredMethods();
for (int i = 0; i < methods.length; i++)
{
Method m = methlist[i];
System.out.println(m.getName());
}
如果METHODNAME在yourClass中,它最终将打印出“METHODNAME”作为字符串。