我有2个对象:
ObjectA
ObjectB
当我将ObjectA转换为字符串(ObjectA.toString())时,它看起来像这样:
projectA.test.Object@e6db18d
现在有了ObjectB,当我将其转换为字符串(ObjectB.toString())时,它看起来像这样:
ObjectB {color=StringProperty [value: blue], car=StringProperty [value: bmw]}
现在我的问题是为什么一个人提出一串数字和字母,而另一个人提出一个清单?如何使我所有的对象都像类似于ObjectB的列表一样显示,因为这样更易于阅读?
答案 0 :(得分:-1)
对象的字符串值是通过toString()
方法获得的。因此,要更改对象的字符串表示形式,必须在类中重写toString()
方法:
public class SomeClass {
@Override
public String toString() {
return "Custom string";
}
}
ObjectA
的字符串表示形式是任何对象的默认字符串表示形式,其中将打印该对象的类的名称,后跟@
,最后是该对象的哈希码。默认实现为:
public String toString() {
return getClass().getName() + "@" + Integer.toHexString(hashCode());
}