这可能是一个非常愚蠢的问题,但java中的这一行是什么意思?
Seat tempSeat = rowClass ? allSeatsC[i][j] : allSeatsE[i][j];
我知道它与if函数有关但我试图用if重写它。但我无法弄清楚它是如何运作的。
答案 0 :(得分:0)
Seat tempSeat;
if(rowClass)
tempSeat=allSeatsC[i][j];
else
tempSeat=allSeatsE[i][j]
答案 1 :(得分:0)
它被称为三元或" elvis"运营商。基本上是一个内联if语句
更多信息:http://en.wikipedia.org/wiki/%3F:#Java(链接被格式化程序破坏)
对于像上面那样的简单测试,这些非常方便。
答案 2 :(得分:0)
?
是三元运营商。
它类似于if-else语句,但如果第一个表达式为true,它将返回?
和:
之间的表达式,否则返回最后一个表达式。< / p>
Seat tempSeat = rowClass ? allSeatsC[i][j] : allSeatsE[i][j];
相当于
Seat tempSeat;
if(rowClass){
tempSeat = allSeatsC[i][j];
}else{
tempSeat = allSeatsE[i][j];
}