如何测试reflection得到的Java字段的值是否为空?

我有

Field f = this.getClass().getFields()[0]; 

我需要知道f的值是否为null 。 有许多方法,如getInt()getDouble() ,但我没有找到像Object getData()isNull() 。 有这样的方法吗?

field.get(target)返回Object 。 所以你可以检查if (field.get(this) == null) {..}

如果该字段是原始字段,它将被包装。 int – > Integerchar – > Character

您需要从对象中获取字段,然后检查它是否为空

 Field f = this.getClass().getFields()[0]; if (f.get(this) == null) ... 

你的搜索不够好: http : //download.oracle.com/javase/6/docs/api/java/lang/reflect/Field.html#get%28java.lang.Object%29

调用此方法,并检查返回的对象是否为null。

使用Object obj=f.get(this)并检查返回的对象(在本例中为obj)是否为null