在JavaScript中,我可以定义:
num = numerator || 0;
denom = denominator || 1;
然而,在Java中,这不能应用。
不使用条件(明确写入),有没有简洁的方法来实现这个“如果未定义,分配给它”?
答案 0 :(得分:9)
也许这就够了。
num = numerator != null ? numerator : 0;
denom = denominator != null ? denominator : 1;
答案 1 :(得分:1)
您可以使用多个构造函数,并设置默认值...如果您将其用作对象...
zero = new Rational();
five = new Rational(5);
twoThird = new new Rational(2,3);
class Rational{
num = 0;
denom = 1;
public Rational(){
}
public Rational(int num){
this.num=num;
}
public Rational(int num , int denom){
this.num=num;
this.denom=denom;
}
}
三元的其他解决方案如何需要包装对象,并处理空指针,这通常没有好的java风格
答案 2 :(得分:0)
您可以使用三元运算符/条件(?:)
String ans = (question == null)? null : "Option A";
在上面的例子中,如果问题不为null,我们将ans设置为选项A,否则将ans设置为null。
答案 3 :(得分:0)
我知道你指的是“无条件”,但三元“if”怎么办?
num = (num != 0) ? numerator : 0;