尝试打印数组的家庭作业有一个特殊问题。我没有具体的代码......没有找到具体的答案。 它是使用print方法打印哈希码,并且共识是.toString()方法解决了这个问题。我无法让这个工作,但在这里找到了第二个答案:
https://stackoverflow.com/a/19845901/7262393
我的问题是(如果一般可以回答),为什么我不会只使用.get()方法并循环遍历本回答中建议的所有元素?是否有任何特殊原因使用另一个?我假设.toString方法是一个循环,它将每个元素转换为字符串,然后打印它们。
由于
答案 0 :(得分:0)
当使用.get()方法将多个字段连接到String时,您将牺牲一些性能,因为对于每个+操作,需要创建一个新的String(Java字符串是不可变的)。
使用.toString()方法时,您可以使用以下内容:
String.format("Person {name:%s, street:%s}",name,street);
会有更好的表现。
答案 1 :(得分:0)
我想,Apache Commons ReflectionToStringBuilder
会帮助你。有关详细信息,请查看此document。
它可以用于下一个方式:
ReflectionToStringBuilder.toString(<object you want to print to string>);
答案 2 :(得分:0)
那么每次想要查看容器对象的内容时,您更愿意做什么?循环并打印每个包含的项目或致电System.out.println(obj.toString());
?
一般情况下,为您的课程添加toString()
方法会更好,因为在调试时您可能会想要做很多事情,这样可以节省您重复的工作量很多次!