java 反射机制,通过字符串获取一个类的属性,并且得到这个属性是什么类型的。

我现在是通过取得Field[]然后循环比较来实现的

for (int i = 0; i < fields.length; i++) {
if (fields[i].getName().equalsIgnoreCase(name)) {
// 判断是不是List类型
if (fields[i].getType().getName().equals(
"java.util.List")) {
//一个一个比较后,才得到了List的泛型
Type type = fields[i].getGenericType();


有没有更好的办法,不用循环比较,直接根据字符串得到对象属性的类型。

第1个回答  2013-06-24
你的需求是:得到类中指定类型的属性集合吧,类似于需要Field[] getFields(String type) 这样的函数,目前java尚未提供这样的api。还是需要遍历的本回答被提问者采纳
相似回答