java如何动态获取方法名

2024-12-28 22:51:59
推荐回答(4个)
回答1:

public class Test {
public static void main(String[] args)throws Exception {
// TODO Auto-generated method stub
A a=new A();
String i="setB";

Method cc=a.getClass().getMethod(i, String.class);//获取方法
//String.class如果没有就是new Class[0]
System.out.println(cc.getName());
cc.invoke(a, "aa");
//调用方法
System.out.println(a.getB());

}
}

class A{
private int a=0;
private String b="abc";
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}

}

回答2:

你可以用Class的方法
getDeclaredMethods()

得到A类型里的所有方法(不包括继承来的);
getMethods()
得到所有的方法

返回值是 Method[]
循环对照吧。加上get,set

Method类型有getName()的方法,看看名字是不是你要的就行了。

回答3:

可以这样 :

Java代码
Method[] methods = bo.getClass().getMethods();
for (Method m:methods) {
method.getName();
}

回答4:

用反射技术啊