我在打印特殊数组时遇到问题:
我使用 System.out.println(Arrays.toString());
打印多个对象的数组但现在数组中充满了对象,这些对象具有 char 值,我想打印分配给该对象的每个字符。
我怎样才能在代码中做到这一点?
为了澄清,让数组像这样具体:
Class[] objList = {new Class(1, 'X'), new Class(4, 'Y')};
我想调用objList[0].toString()
的地方然后是 objList[1].toString()
方法,得到如下输出:
[X, Y]
我希望这个问题足够清楚,如果有人能帮助我,我会很高兴,谢谢!
注意:前面提到的具有 toString() 方法的 Class 刚刚在 Class 中实现,写为 System.out.print(destination);
我在这里尝试了解释:Use toString on array of objects ,但显然它不起作用。
public String toString() {
System.out.print(Arrays.toString(objList.toString()));
return null;
}
最佳答案
一个toString()
方法本身不应该打印任何内容;相反,它应该返回一个表示对象的字符串。如果你的类(class)人物是通过getChar()
获取的方法,你可以实现它的 toString()
方法如下:
public String toString() {
return String.valueOf(getChar());
}
这会将字符转换为 String
并返回。
如果你这样做,代码
Class[] objList = new Class[] { new Class(1,'X'), new Class(2,'Y') };
System.out.println(Arrays.toString(objList));
应该输出[X, Y]
.
(我建议将您的类 Class
重命名为其他名称,因为它与 Java 的 Class<T>
类冲突。)
关于java - 数组 toString 以及也具有 toString 方法的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41270153/