【问题标题】:Condition based returns for a toString()toString() 的基于条件的返回
【发布时间】:2021-02-19 00:16:46
【问题描述】:

这是我的 toString

  @Override
  public String toString() {
      return
              "Name: " + name +
              " Date of birth: " + dateOfBirth + " Serial number: " + userSerialNumber +
              " Gold Status: " + if(goldStatus == true){ return " Gold" } else {return "Standard"};
  }

最后一个短语是我尝试过的,但我得到一个“java:非法开始表达式”编译器错误。如何使这段代码可编译?

【问题讨论】:

  • 如果要将条件语句集成到字符串中,您将需要使用条件语句而不是 if 语句。使用 (goldStatus ? " Gold" : "Standard") 代替 if。
  • @Nicolas125841 永远不要将布尔值与true 进行比较。
  • 也许应该添加(因为您可能是编码新手)不能将return 放在return 中。如果您在代码中的任何位置使用 return,它将返回一个值或一个对象,仅此而已。

标签: java tostring


【解决方案1】:
@Override
public String toString() {
    return
        "Name: " + name +
        " Date of birth: " + dateOfBirth + " Serial number: " + userSerialNumber +
        " Gold Status: " + (goldStatus ? " Gold" : "Standard");
}

【讨论】:

  • 谢谢 - 我必须等待 10 分钟才能接受您的回答,但我会尽快接受。这看起来像更简洁的代码。
猜你喜欢
  • 1970-01-01
  • 2019-02-21
  • 1970-01-01
  • 1970-01-01
  • 2017-05-24
  • 2021-08-05
  • 2016-06-01
  • 2019-12-29
  • 1970-01-01
相关资源
最近更新 更多