条件变量?

时间:2013-03-12 03:33:25

标签: java

我不确定这是什么,所以很难查找它,如果我告诉你我想要做的事情,那就最好了。

我想创建一个条件的条件变量

String fileName = (if (this.filename != null) { return this.filename; } 
                   else { return "default value"; }); 

这应该非常清楚我正在尝试做什么。我想使用某种条件来根据另一个变量输入来设置这个变量,在这种情况下它是否等于null。

4 个答案:

答案 0 :(得分:7)

使用三元运算符。在我看来,这是defensive programming中的战略之一。

String fileName = (this.filename != null? this.filename : "default value");

答案 1 :(得分:5)

String fileName = this.filename != null ? this.filename : "default value";

答案 2 :(得分:1)

或者,更详细但(或许)更容易理解

String aFilename;
if (this.filename != null)
  aFilename = this.filename;
else
  aFilename = "Default Value";
return aFilename;

我更喜欢Careal的代码而不是YMMV。有人找到了?操作员很复杂(特别是在凌乱的情况下)

此外,当使用调试器踩到时,这段代码将更容易看到发生了什么。

答案 3 :(得分:0)

您可以使用ternary operatorboolean expression ? value1 : value2

String fileName = fileName == null ? "Default value" : this.filename;