如何测试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
– > Integer
, char
– > 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