Java条件检查和赋值
我正在寻找一种更有效的方法来执行以下操作,即将方法的返回值附加到数组中。但是,如果返回值为null,我希望执行另一个操作,而不是更改数组Java条件检查和赋值,java,conditional,variable-assignment,Java,Conditional,Variable Assignment,我正在寻找一种更有效的方法来执行以下操作,即将方法的返回值附加到数组中。但是,如果返回值为null,我希望执行另一个操作,而不是更改数组 Object[] myVal = new Object[10]; Object temp; temp = myFunction(); if(temp != null) { myVal[count++] = temp; } else { System.Exit(); } 其中,我希望为方法的返回分配一个变量,但如果返回的值为null,则提供“内
Object[] myVal = new Object[10];
Object temp;
temp = myFunction();
if(temp != null) {
myVal[count++] = temp;
} else {
System.Exit();
}
其中,我希望为方法的返回分配一个变量,但如果返回的值为null,则提供“内联”检查以执行另一个操作
比如:
myVal = (myFunction() != null) ? [output of expression]: System.Exit();
有这样的方法吗
myVal = myFunction();
if (myVal == null) System.exit(0);
不需要临时变量
不需要临时变量 试试这个:
if ((myVal = myFunction()) == null) System.exit(0);
else // do your work
注意:不建议使用三元运算符,因为代码很难读取。尝试以下方法:
if ((myVal = myFunction()) == null) System.exit(0);
else // do your work
注意:不建议使用三元运算符,因为代码变得很难阅读。当前代码的效率低下是什么?至少是
新对象
部分。我希望尝试避免创建临时对象的实例当前代码的效率低下是什么?至少是新对象
我想尝试避免创建临时对象的实例如果myVal是一个数组,我将返回值添加到该数组的末尾,这会添加null值吗?理想情况下,我希望在将该值添加到数组末尾之前检查该值。通常使用temp而不是myVal…如果((temp=myFunction())!=null)myVal[index]=temp;如果myVal是一个数组,我将返回值添加到该数组的末尾,这会添加null值吗?理想情况下,我希望在将该值添加到数组末尾之前检查该值。通常使用temp而不是myVal…如果((temp=myFunction())!=null)myVal[index]=temp;我认为OP希望在方法返回null
时避免变量赋值。当然,如果他真的在做System.exit(0)
,那就没关系了。@GriffeyDog“避免赋值?”这不是意味着将其赋值为null,他无论如何都在试图避免它吗?我想OP希望在方法返回null
时避免变量赋值。当然,如果他真的在做System.exit(0)
,那就没关系了。@GriffeyDog“避免赋值?”这不是意味着将赋值保持为null,他无论如何都在试图避免它吗?