我有一堂课
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