OPK*_*OPK -2 java stringbuilder
快速提问:
public class AppendStringBuilder {
public static void main(String args[]){
StringBuilder sb1 = new StringBuilder();
sb1.append("java");
sb1.append(new Person("Oracle"));
System.out.println(sb1);
}
}
package hello;
public class Person {
String name;
Person(String str){
name = str;
}
}
Run Code Online (Sandbox Code Playgroud)
输出:javahello.Person@2c538cc2
这背后的原因?不打印JavaOracle
Tob*_*ias 12
你需要toString在课堂上实现Person:
public class Person {
String name;
Person(String str){
name = str;
}
@Override
public String toString() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
toString必须返回对象的String表示形式.实用程序方法,例如append调用toString对象以检索其文本表示.
来自文档:
返回对象的字符串表示形式.通常,toString方法返回一个"文本表示"此对象的字符串.结果应该是一个简洁但信息丰富的表示,便于人们阅读.建议所有子类都重写此方法.
类Object的toString方法返回一个字符串,该字符串由对象为实例的类的名称,符号字符"@"和对象的哈希码的无符号十六进制表示组成.换句话说,此方法返回一个等于值的字符串:
Run Code Online (Sandbox Code Playgroud)getClass().getName() + '@' + Integer.toHexString(hashCode())
| 归档时间: |
|
| 查看次数: |
94 次 |
| 最近记录: |