我有一堂课

Class Test{

private String something ;
private String somethingElse;
private String somethingMore;

}


我正在为此创建一个实例。

myInst = new Test();


并将值添加到第一和第二变量。

现在,我需要检查任何变量是否为空。

我知道我可以像if(myInst.something == null)这样

但是对于我添加到课程中的每个项目,这都是很难做到的。

无论如何,我可以通过遍历所有元素并查看是否为空来检查实例。

就像 -

 for(i=0; i< myInstanceVariables ; i++)
{

if(myInstanceVariable == null ){

//do something
donotDisplay(myInstanceVariable)

}


TIA

最佳答案

您可以在实例中使用Fields使用Reflection。在您的课程中,添加以下代码。它将吸收所有领域并获得其价值。

Field[] fields = getClass().getDeclaredFields(); // get all the fields from your class.
for (Field f : fields) {                         // iterate over each field...
    try {
        if (f.get(this) == null) {               // evaluate field value.
            // Field is null
        }
    } catch (IllegalArgumentException ex) {
        ex.printStackTrace();
    } catch (IllegalAccessException ex) {
        ex.printStackTrace();
    }
}


这是示例代码:https://ideone.com/58jSia

10-01 22:41
查看更多