public class Date {
...
public Date(first case)
...
public Date(second case)
...
public Date(third case)
...
public String toString(){
...}
如何在toSTring()????
中编写代码任何人都可以向我解释
答案 0 :(得分:3)
toString
返回的内容并不取决于您班级中constructor
的数量return
。当您打印班级实例时,它们用于String
Person
表示您想要打印的表示。您可以从中返回任何字段或某些字段的串联。
因此,如果您的4-5 fields
课程包含id
name
和id
,并且您想要打印name
和toString()
用冒号分隔的人,当你打印实例时,你的@Override
public String toString() {
return this.id + " : " + this.name;
}
会是这样的: -
Person
因此,如果您的id = 5
类的实例包含name = rohit
,age = 23
,email id
和某些Person person = new Person(5, "rohit", "rohit@gmail.com", 23);
System.out.println(person);
Person person2 = new Person(6); // Don't have `name` set
System.out.println(person2);
,那么当您显示该实例时: -
5 : rohit
6 :
以上陈述将打印: -
toString
作为输出。
但是你当然可以在你的{{1}}中设置一个条件来检查一个字段是否为空,你可以相应地返回一条消息。
答案 1 :(得分:0)
public String toString() {
return case1 != null ? case1 : case2 != null ? case2 : case3 != null ? case3 : null;
}
答案 2 :(得分:0)
java toString对于以文本形式表示对象非常有用。您应始终覆盖toString()以便可以访问正确的调试/日志记录。这是一个可能是一个很好的例子的类的样本。
public class Person {
private final String _name;
private final Integer _age;
private final Date _birthday;
public Person(String name, Integer age, Date birthday) {
this._name = name;
this._age = age;
this._birthday = new Date(birthday.getTime());
}
@Override
public String toString() {
return "Person [_name=" + _name + ", _age=" + _age + ", _birthday="
+ _birthday + "]";
}
}
答案 3 :(得分:0)
toString方法应该代表"状态"您的对象,因此与构造函数无关,但与您的类属性有关。