【问题标题】:Is it neccessary that left-hand side of an assignment must be a variable?赋值的左侧是否必须是变量?
【发布时间】:2016-09-13 08:00:30
【问题描述】:
public String toString() {    
    return " Recipient:"+  this.toString(this.getRecipient()) +
               " CC:"+ this.toString
                           (
                       if(this.getCC()==null)
                       {
                           getCC() = "";
                       }
                           ) +
               " Subject:"+this.getSubject() +
               " Body:"+ this.getBody() +
               " files:"+ this.getFiles();        
}

我有这个错误:

getCC() = "";

你知道为什么会这样吗? 提前致谢

【问题讨论】:

  • 您不能将表达式分配给方法调用。
  • 好吧,因为“赋值的左边必须是一个变量”
  • 您也不能在像这样的另一个表达式中使用if 语句...也许您正在寻找条件?: 运算符?
  • @JonSkeet 除了它是toString() o_O 的参数
  • @PeterLawrey:是的,我怀疑所有对toString(expression) 的调用都应该只替换为expression。很难说 OP 到底想达到什么目的。

标签: java compiler-errors


【解决方案1】:

您不能为方法的返回值赋值。您也不能将表达式放在不带参数的方法中。您似乎打算使用变量。

String cc = getCC();
if (cc == null) cc = "";
return ... " CC:" + cc + ...

【讨论】:

    猜你喜欢
    • 2012-06-29
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多