【问题标题】:I want to check whether all the values set of an object are null or not我想检查一个对象的所有值集是否为空
【发布时间】:2014-09-01 15:01:33
【问题描述】:
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 的所有值是否全部为 null 并且如果任何值不为 null 的东西,可以在 obj2 上设置。在此先感谢

【问题讨论】:

  • 你的问题很不清楚。您是说要检查obj1的任何属性是否为null,然后为这些属性赋值?

标签: java object reference null notnull


【解决方案1】:

你的问题很难理解。 但是,如果您的意思是您有 20 个(作为示例)值,并且您想检查它们是否为 != null 而无需为每个值都输入,您可以将它们分组为 List 并循环遍历它。

你这样做:

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
    }
}

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

【讨论】:

  • 这可能是实现此行为的最方便的方法。你得到了我的支持。
猜你喜欢
  • 2021-10-20
  • 2022-01-09
  • 2021-05-01
  • 2020-05-12
  • 1970-01-01
  • 1970-01-01
  • 2014-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多