[英]Getting different types of variable
我有一个Java形式,其中我声明了string类型的不同变量,而string数组类型的变量很少,而集合则很少。 使用反射api的getdeclaredfileds,我将在字段数组变量中获取类的每个字段。 但是我想将字符串变量分成一个公共数组。 将数组字符串放入其他数组,并将集合字段放入其他字段。
例如:- String abc; String def; String[] lmn; String[] opq; Collection mno;
String abc; String def; String[] lmn; String[] opq; Collection mno;
定义实用程序方法:
public static Map<Class<?>, List<Field>> getFieldsByType(Field[] fields) {
Map<Class<?>, List<Field>> result = new HashMap<Class<?>, List<Field>>();
for (Field field:fields) {
List<Field> fieldList = result.get(field.getType());
if (fieldList == null) {
fieldList = new ArrayList<Field>();
result.put(field.getType(), fieldList);
}
fieldList.add(field);
}
return result;
}
它按类型分隔字段并将其存储在地图中。
用法示例:
Map<Class<?>, List<Field>> map = getFieldsByType(MyClass.class.getDeclaredFields());
List<Field> stringTypeMembers = map.get(String.class);
现在, stringTypeMember
包含String
类型的所有类成员(字段)。
您能否获取所有变量并使用Field.getType()
按类型过滤它们?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.