我有课
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
来使用反射。在您的类(class)中,添加此代码。它将获取所有字段并获取它们的值。
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
关于Java - 循环并通过类实例的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24079538/