您的位置:首页 > 编程语言 > Java开发

java中通过反射遍历属性字段及值

2014-04-01 14:28 323 查看
package test;

import java.lang.reflect.Field;

interface IEntity{

}

class Entity implements IEntity{
private String s1 = "字符串1";

private String s2 = "字符串2";
}

public class Test {

public static void reflect(IEntity e) throws Exception{
Class cls = e.getClass();
Field[] fields = cls.getDeclaredFields();
for(int i=0; i<fields.length; i++){
Field f = fields[i];
f.setAccessible(true);
System.out.println("属性名:" + f.getName() + " 属性值:" + f.get(e));
}
}

public static void main(String[] args) throws Exception{
IEntity e = new Entity();
reflect(e);
}
}


如果f.get(e) 是自定义类型 可以先对f.getName()做判断 然后 强转类型

如下:

if(f.getName().equals("identifier")){

Identifier ee=(Identifier)f.get(l);
value=ee.getRaw();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: