[英]String toString method
This is the class with the toString
method这是带有
toString
方法的 class
class Person {
final String name;
final String address;
final String phoneNr;
Person(String name, String address, String phoneNr) {
this.name = name;
this.address = address;
this.phoneNr = phoneNr;
}
@Override
public String toString() {
return String.format("%-10s, %-20s, %-10s", name, address, phoneNr);
}
}
Now I need to write this method in a PhoneBookList
class that I created earlier.现在我需要在我之前创建的
PhoneBookList
class 中编写此方法。 How would i do this?我该怎么做?
Just override toString()
this in Person class and in Phonebooklist
when printing any person object will use toString()
values在打印任何人 object 时,只需在 Person class 和
Phonebooklist
列表中覆盖toString()
将使用toString()
值
public class Person {
@Override
public String toString() {
return String.format("%-10s, %-20s, %-10s", name, address, phoneNr);
}
}
public class Phonebooklist {
public static void main(String[] args) {
Person person = new Person("name", "address", "000-000-000"); // if you are using constuctor overloading
System.out.println(person);
}
}
, And if you loop over all nodes in Phonebooklist and use Person's toString format you can do this like this: , 如果你遍历 Phonebooklist 中的所有节点并使用 Person 的 toString 格式,你可以这样做:
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
Node current = head;
while (current != null) {
builder.append(current.person); // this will append person object and use it's toString with this format "%-10s, %-20s, %-10s", name, address, phoneNr
if (current.next != null) builder.append("\n");
current = current.next;
}
return builder.toString();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.