0

我不太确定这叫什么,所以很难查找,最好向您展示我正在尝试做的事情。

我想创建一个条件变量

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

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

4

4 回答 4

7

使用三元运算符。在我看来,这是防御性编程中的一种策略。

String fileName = (this.filename != null? this.filename : "default value");
于 2013-03-12T03:35:20.163 回答
5
String fileName = this.filename != null ? this.filename : "default value";
于 2013-03-12T03:35:13.777 回答
1

或者,更冗长但(也许)更容易理解

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

我更喜欢 Careal 的代码,但更喜欢 YMMV。有些人发现 ? 运算符复杂(尤其是在杂乱的情况下)

此外,当使用调试器单步执行时,此代码将更容易查看发生了什么。

于 2013-03-12T03:37:25.900 回答
0

您可以使用三元运算符boolean expression ? value1 : value2

String fileName = fileName == null ? "Default value" : this.filename;
于 2013-03-12T03:36:33.530 回答