请问各位 为什么这个测试输出之后会变成这样?
结果有类名+@+一串数字
我没太搞明白!麻烦了!
因为你里面放的就是那个对象啊,所以输出的是你这个对象
直接打印对象,会调用对象的toString()方法。如果类没有重写toString()方法会输出"类名+@+hasCode"值。
eclipse右键找resource找到tostring就行了。
因为没有重写toString方法,所以默认打印的是他的类所在的包名.类名 + @ + 哈希码值
一般默认重写的toString方法为如下格式 如有帮助望采纳
@Override
public String toString() {
return "你的类名{" +
"类里面的变量名=" + 类里面的变量名 +
", 类里面的变量名='" + 类里面的变量名 + '\'' +
'}';
}
@Override
public String toString() {
return "Dept{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
要重写toString方法,默认打印的是他的类所在的包名.类名 + @ + 哈希码值,可以每次写的时候都自动生成tostring方法,养成好的习惯。