+-

有没有办法在类中查找类中的字段
java.lang.Character.TYPE
java.lang.Byte.TYPE
java.lang.Short.TYPE
java.lang.Integer.TYPE
java.lang.Long.TYPE
java.lang.Float.TYPE
java.lang.Double.TYPE
char,byte,short等有一个isPrimitive方法.
最佳答案
您可以从
Class#getDeclaredFields()开始获取班级中的一系列字段.然后,迭代数组中的每个
Field并根据需要进行过滤.
像这样的东西:
public static List<Field> getPrimitiveFields(Class<?> clazz)
{
List<Field> toReturn = new ArrayList<Field>();
Field[] allFields = clazz.getDeclaredFields();
for (Field f : allFields)
{
Class<?> type = f.getType();
if (type.isPrimitive())
{
toReturn.add(f);
}
}
return toReturn;
}
更多信息:
> Field#getType()
> Class#isPrimitive()(虽然听起来你已经知道这个了)
编辑
值得澄清的是,类型java.lang.Character.TYPE等与类文字相同.那是,
> java.lang.Character.TYPE == char.class
> java.lang.Byte.TYPE == byte.class
> java.lang.Short.TYPE == short.class
> java.lang.Integer.TYPE == int.class
> java.lang.Long.TYPE == long.class
> java.lang.Float.TYPE == float.class
> java.lang.Double.TYPE == double.class
点击查看更多相关文章
转载注明原文:java – 使用反射查找String,Boolean,Integer类型的字段 - 乐贴网