重写toString方法?

时间:2019-10-05 21:09:33

标签: java

我要采用正确的方法吗?我生成了toString()。

@Override
public String toString()
{
return "Auto [exampleOne=" + exampleOne + ", exampleTwo=" + exampleTwo + ", exampleThree=" + exampleThree ", getexampleOne()=" + getexampleOne() + ", getexampleTwo()=" + getexampleTwo() + ", getexampleThree()=" + getexampleThree() + ", toString()=" + super.toString() + "]";
}

2 个答案:

答案 0 :(得分:3)

是的,这将覆盖toString()方法,该方法在将此类的对象隐式转换为String时将被调用。显示的内容取决于函数返回的String

请注意,@Override已经在帮助您解决这一问题。它告诉编译器“嘿,我想重写一个函数,请检查它是否确实完成了” see here)。

答案 1 :(得分:0)

Java Specification并未将toString()用作逻辑逻辑。并且不严格。因此,开发人员可以自行实现此方法。我认为有一些建议:

  • 这应该很简单;
  • 应该容易计算;
  • 它不应引发异常;
  • IDE将其用于在调试器中对对象进行分类,因此最好在一行中打印出最重要的值。

我不建议将此方法用作用户的输出字符串或smth。像那样。您应该为格式化的输出字符串创建一个单独的方法。