有没有办法找到一个字段是否与 isPrimitive() 相同?

2022-09-05 00:37:23

有没有办法找到一个字段在 Java 反射中是否与 ?booleanisPrimitive()

Field fieldlist[] = clazz.getDeclaredFields();
for (int i = 0; fieldlist.length & gt; i; i++) {
 Field fld = fieldlist[i];
 if (fld.getClass().isPrimitive()) {
  fld.setInt(object, 0);
  continue;
 }
}

答案 1
if(fld.getType().equals(boolean.class))

刚刚测试了这个,它适用于原始变量。boolean


答案 2

我相信可以用来确定该字段是否是布尔值。我还没有机会测试这是否适用于基元。Boolean.class.isAssignableFrom(fld.getClass())