java - 如何在不覆盖的情况下打印对象字段?

标签 java arrays object reflection

我们可以使用System.out.println轻松打印数组(虽然数组也是java中的一种对象),但是为什么我们不能在不重写toString的情况下直接打印对象()方法?

例如:

int array[]=new int(2);
array[0]=10;
System.out.println(array[0]); //it works
Object obj=new Object();
System.out.println(obj); //it shows the classname and some value i don't know

最佳答案

"it shows the classname and some value i don't know"

嗯,这就是 Object 实例的打印方式,对于 Object 类的实例(即不是 Object 的子类),您可以无法覆盖 toString

对于 Object 的自定义子类,您必须自己决定对象的字符串表示形式(通过重写 toString)。 Java 不会为您决定。

关于java - 如何在不覆盖的情况下打印对象字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31229550/

相关文章:

Javascript - 具有键值对的对象,其中值是一个数组

java StringTokenizer 如果字符是分隔符的一部分,则会跳过字符

java - 调用两个方法并将调用第一个方法的结果传递给第二个方法的主方法

java - 如何在参数中传递数组

javascript - 在 actionscript 3.0 中使用函数创建对象

javascript - 插入数组对象

java - 在 Selenium 中使用 for 循环添加多条记录

java - 指定权重的boxcar平均算法

c - 结构内的灵活数组成员 (c99)

c++ - 如何找出动态分配数组的大小(使用 sizeof())?