>当我尝试转换它时
if ( prop.getDateSaisie() == null ) prop.setDateSaisie(new Date()) ;
else prop.setDateSaisieModif(new Date()) ;
像这样对Java三元运算符
prop.getDateSaisie() == null ? prop.setDateSaisie(new Date()) : prop.setDateSaisieModif(new Date()) ;
我得到了The left-hand side of an assignment must be a variable
所以我必须if
else
这样做,否则我错过了什么?
您无法使用三元运算符来实现此目的,因为您要为每个条件分支调用不同的方法。(此外,使用三元运算符意味着您必须在表达式的开头有一个赋值语句,而在这种情况下您没有(只需使用常规if/else
语句:
if(prop.getDateSaisie() == null)
prop.setDateSaisie(new Date());
else
prop.setDateSaisieModif(new Date());
您可以读取编译器错误:左侧必须是变量。
三元或"条件"运算符的要点是将条件引入表达式中。
这意味着你必须以这种方式编写三元运算符:
variable = condition ? true : false;
不能使用三元运算符完成