我不确定这是什么,所以很难查找它,如果我告诉你我想要做的事情,那就最好了。
我想创建一个条件的条件变量
String fileName = (if (this.filename != null) { return this.filename; }
else { return "default value"; });
这应该非常清楚我正在尝试做什么。我想使用某种条件来根据另一个变量输入来设置这个变量,在这种情况下它是否等于null。
答案 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 operator:boolean expression ? value1 : value2
String fileName = fileName == null ? "Default value" : this.filename;