问题
任何人都可以向我解释一下在474772436类中定义的toString()方法的概念吗?它是如何使用的,它的目的是什么?
#1 热门回答(77 赞)
返回对象的字符串表示形式。通常,toString方法返回一个"文本表示"此对象的字符串。结果应该是简洁但信息丰富的表示,便于人们阅读。建议所有子类都覆盖此方法。类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"以及对象的哈希码的无符号十六进制表示组成。换句话说,此方法返回一个等于值的字符串:
getClass().getName() + '@' + Integer.toHexString(hashCode())
例:
String[] mystr ={"a","b","c"};
System.out.println("mystr.toString: " + mystr.toString());
output:- mystr.toString: [Ljava.lang.String;@13aaa14a
#2 热门回答(38 赞)
使用String toString:每当你需要在String表单中探索名为value的构造函数时,你可以简单地使用String toString ...作为一个例子......
package pack1;
import java.util.*;
class Bank {
String n;
String add;
int an;
int bal;
int dep;
public Bank(String n, String add, int an, int bal) {
this.add = add;
this.bal = bal;
this.an = an;
this.n = n;
}
public String toString() {
return "Name of the customer.:" + this.n + ",, "
+ "Address of the customer.:" + this.add + ",, " + "A/c no..:"
+ this.an + ",, " + "Balance in A/c..:" + this.bal;
}
}
public class Demo2 {
public static void main(String[] args) {
List l = new LinkedList();
Bank b1 = new Bank("naseem1", "Darbhanga,bihar", 123, 1000);
Bank b2 = new Bank("naseem2", "patna,bihar", 124, 1500);
Bank b3 = new Bank("naseem3", "madhubani,bihar", 125, 1600);
Bank b4 = new Bank("naseem4", "samastipur,bihar", 126, 1700);
Bank b5 = new Bank("naseem5", "muzafferpur,bihar", 127, 1800);
l.add(b1);
l.add(b2);
l.add(b3);
l.add(b4);
l.add(b5);
Iterator i = l.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
}
}
...将这个程序复制到你的eclipse中,然后运行它...你会得到关于String toString的想法......
#3 热门回答(32 赞)
ThetoString()方法返回对象的文本表示。基本实现已包含在java.lang.Object中,因为所有从java.lang.Objectit继承的对象都保证Java中的每个对象都具有此方法。
覆盖该方法总是一个好主意,特别是在调试方面,因为调试器通常会根据toString()方法的结果显示对象。所以使用一个有意义的实现,但使用它的技术目的。应用程序逻辑应该使用getter:
public class Contact {
private String firstName;
private String lastName;
public Contact (String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public String getFirstName() {return firstName;}
public String getLastName() {return lastName;}
public String getContact() {
return firstName + " " + lastName;
}
@Override
public String toString() {
return "["+getContact()+"]";
}
}