Java - 循环并通过类实例的变量

标签 java

我有课

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/

相关文章:

java - 有没有办法防止单元测试和测试类之间的耦合

java - Android 加载远程图像

java - 多模块构建人工解决方案与单独构建?

java - 如何使用流重写嵌套列表的查找功能

java - 将 List<String> 直接转换为 List<Integer>

java - 当父类(super class)扩展 JFrame 时

java - 我可以为枚举中的每个值添加一个 JRadioButton 吗?

java - 访问属性

java - 防止对象类创建

java - 你知道任何免费的社交网络软件吗?