如何用Java反射取得一个对象里所有get方法的结果

如何用Java反射取得一个对象里所有get方法的结果,第1张

public void method(TblFwlx obj) {

Class clazz = objgetClass();

Field[] fields = objgetClass()getDeclaredFields();//获得属性

for (Field field : fields) {

PropertyDescriptor pd = new PropertyDescriptor(fieldgetName(),

clazz);

Method getMethod = pdgetReadMethod();//获得get方法

Object o = getMethodinvoke(obj);//执行get方法返回一个Object

}

}

给你个参考import javalangreflectMethod;

import javalangreflectInvocationTargetException; /

Created by IntelliJ IDEA

File: TestRefjava

User: leizhimin

Date: 2008-1-28 14:48:44

/

public class TestRef { public static void main(String args[]) throws NoSuchMethodException, IllegalAccessException, InvocationTargetException {

Foo foo = new Foo("这个一个Foo对象!");

Class clazz = foogetClass();

Method m1 = clazzgetDeclaredMethod("outInfo");

Method m2 = clazzgetDeclaredMethod("setMsg", Stringclass);

Method m3 = clazzgetDeclaredMethod("getMsg");

m1invoke(foo);

m2invoke(foo, "重新设置msg信息!");

String msg = (String) m3invoke(foo);

Systemoutprintln(msg);

}

} class Foo {

private String msg; public Foo(String msg) {

thismsg = msg;

} public void setMsg(String msg) {

thismsg = msg;

} public String getMsg() {

return msg;

} public void outInfo() {

Systemoutprintln("这是测试Java反射的测试类");

}

}

public static void printMethods(Class cl)

{

Method[] methods =clgetDeclaredMethods();//返回一个包含方法对象的数组

for(Method m : methods)//循环该类的每个方法

{

Class retType = mgetReturnType();//该方法的返回类型,

Sting name = mgetName();//获得方法名

Systenoutprint(" "+ModifiertoString(mgetModifiers());打印方法修饰符

Systemoutprint(" "+retTypegetName() + " " + name +"(");

Class[] paramTypes = mgetParameterTypes();//获得一个方法参数数组(getparameterTypes用于返回一个描述参数类型的Class对象数组)

for(int j = 0 ; j < paramTypeslength ; j++)

{

if ( j > 0 ) Systemoutprint(" , "); //如果有多个参数,中间则用逗号隔开,否则直接打印参数

Systemoutprint (paramTypes[ j ]getName);

}

Systemoutprintln (" );");

}}

//////////getparameterTypes方法用于返回一个描述参数类型的Class对象数组)

以上就是关于如何用Java反射取得一个对象里所有get方法的结果全部的内容,包括:如何用Java反射取得一个对象里所有get方法的结果、java反射调用方法的时候如果参数是对象,怎么给参数类型、java反射获得方法名后怎样判断方法是否含有参数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9722682.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存