java如何动态获取方法名
答案:4 悬赏:30 手机版
解决时间 2021-01-14 18:11
- 提问者网友:杀手的诗
- 2021-01-14 10:28
java如何动态获取方法名
最佳答案
- 五星知识达人网友:酒者煙囻
- 2021-01-14 11:28
可以这样 :
Java代码
Method[] methods = bo.getClass().getMethods();
for (Method m:methods) {
method.getName();
}
Java代码
Method[] methods = bo.getClass().getMethods();
for (Method m:methods) {
method.getName();
}
全部回答
- 1楼网友:猎心人
- 2021-01-14 13:19
用反射技术啊
- 2楼网友:青尢
- 2021-01-14 12:09
你可以用Class的方法
getDeclaredMethods()
得到A类型里的所有方法(不包括继承来的);
getMethods()
得到所有的方法
返回值是 Method[]
循环对照吧。加上get,set
Method类型有getName()的方法,看看名字是不是你要的就行了。
getDeclaredMethods()
得到A类型里的所有方法(不包括继承来的);
getMethods()
得到所有的方法
返回值是 Method[]
循环对照吧。加上get,set
Method类型有getName()的方法,看看名字是不是你要的就行了。
- 3楼网友:由着我着迷
- 2021-01-14 11:41
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;
}
}追问那如果param为某个属性的名字呢?也就是说我传进来的参数和类对象里面某个属性名称一样,怎么获得这个属性的get或者set方法呢?追答那就拼接吧
String set=“set”;
String get="get"
String param="abc";
param=param.substring(0,1).toUpperCase()+param.substring(1);
String setparam=set+param;
String getparam=get+param;追问我想再额外问一下getMethod(i, String.class);里面String.class什么意思?
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;
}
}追问那如果param为某个属性的名字呢?也就是说我传进来的参数和类对象里面某个属性名称一样,怎么获得这个属性的get或者set方法呢?追答那就拼接吧
String set=“set”;
String get="get"
String param="abc";
param=param.substring(0,1).toUpperCase()+param.substring(1);
String setparam=set+param;
String getparam=get+param;追问我想再额外问一下getMethod(i, String.class);里面String.class什么意思?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯