我不太确定这叫什么,所以很难查找,最好向您展示我正在尝试做的事情。
我想创建一个条件变量
String fileName = (if (this.filename != null) { return this.filename; }
else { return "default value"; });
这应该很清楚我要做什么。我想使用某种条件来根据另一个变量输入来设置这个变量,在这种情况下它是否等于 null 。
我不太确定这叫什么,所以很难查找,最好向您展示我正在尝试做的事情。
我想创建一个条件变量
String fileName = (if (this.filename != null) { return this.filename; }
else { return "default value"; });
这应该很清楚我要做什么。我想使用某种条件来根据另一个变量输入来设置这个变量,在这种情况下它是否等于 null 。
使用三元运算符。在我看来,这是防御性编程中的一种策略。
String fileName = (this.filename != null? this.filename : "default value");
String fileName = this.filename != null ? this.filename : "default value";
或者,更冗长但(也许)更容易理解
String aFilename;
if (this.filename != null)
aFilename = this.filename;
else
aFilename = "Default Value";
return aFilename;
我更喜欢 Careal 的代码,但更喜欢 YMMV。有些人发现 ? 运算符复杂(尤其是在杂乱的情况下)
此外,当使用调试器单步执行时,此代码将更容易查看发生了什么。
您可以使用三元运算符:boolean expression ? value1 : value2
String fileName = fileName == null ? "Default value" : this.filename;