问题 赋值的左侧必须是变量

  • 本文关键字:变量 赋值 问题 java
  • 更新时间 :
  • 英文 :


>当我尝试转换它时

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;

不能使用三元运算符完成

最新更新