如何测试反射得到的Java字段值是否为空?
我有 我需要知道如何测试反射得到的Java字段值是否为空?,java,reflection,null,field,Java,Reflection,Null,Field,我有 我需要知道this中f的值是否为null。有很多方法,比如getInt()和getDouble(),但是我没有找到像Object getData()或isNull()这样的方法。有这样的方法吗?返回对象。因此,您可以检查if(field.get(this)==null){..} 如果该字段是基本字段,它将被包装int->Integer,char->Character,等等。您需要从对象获取字段,然后检查它是否为空 Field f = this.getClass().getFields()[
this
中f
的值是否为null
。有很多方法,比如getInt()
和getDouble()
,但是我没有找到像Object getData()
或isNull()这样的方法。有这样的方法吗?返回对象
。因此,您可以检查if(field.get(this)==null){..}
如果该字段是基本字段,它将被包装int
->Integer
,char
->Character
,等等。您需要从对象获取字段,然后检查它是否为空
Field f = this.getClass().getFields()[0];
您搜索得不够好:
调用此方法,并检查返回的对象是否为null。使用对象obj=f.get(this)
并检查返回的对象(在本例中为obj)是否为null以及它是否具有基元类型?@stevemoretz无需发誓<代码>目标
是字段所属的对象。例如:SomeClass对象=新的SomeClass();Field=object.getDelcaredField(“fieldName”);获取(对象)
;因此,在本例中,object
就是上面所说的目标Bozho
。@Nom1fan那实际上是很久以前的事了。我自己想出来了,但无论如何,谢谢。那真的不是发誓。无论如何,对不起。
Field f = this.getClass().getFields()[0];
if (f.get(this) == null)
...