我想检查一个对象的所有值集是否为null

时间:2014-07-11 04:20:22

标签: java object reference null notnull

String var_a = null;
String var_b = null;


Xyz obj1 = new Xyz();
Abc obj2 = new Abc();


    if(var_a != null){
    obj1.setValue1(var_a);
    }

    if(var_b != null){
    obj1.setvalue2(var_b);
    }


    if(obj1 != null ){
    obj2.setvalue(obj1);
    }

在这种情况下,只有2个值,但我可以在obj1上设置30个值。问题是当我初始化obj1时,它为其所有值赋值为null,当我检查obj1!= null时,它将obj1读为非null因为默认值已分配给它们。 我需要的东西可以设置obj1值null而不是它的引用,但它的值或者可以检查obj1的所有值的东西,如果all都为null,并且如果任何值不为null,则可以在obj2上设置。提前致谢

1 个答案:

答案 0 :(得分:1)

你的问题很难理解。 但是,如果你的意思是你有20个(作为一个例子)值,并且你想检查它们是否为!= null而没有为每一个键入它,你可以将它们分组为List并循环它。 / p>

你这样做:

ArrayList<int> myIntegers = new ArrayList<>();
ArrayList<String> myStrings = new ArrayList<>();

// Add the values to the lists

// Perform null check
for( String value : myStrings)
{
    if(value != null)
    {
        // do your stuff here
    }
}

与任何其他数据类型相同的逻辑。