我想将 arraylist 的每个元素添加到单个对象中(具有通用基类型 T )
我试图这样做,但是当我打印出作为对象的最终输出时,我只打印了 arraylist 的最后一个元素。
所以它遍历每个元素,但存储和打印最后一个。
有什么建议么?
假设您的 T 不是聚合类型,则不可能将多个对象合二为一。
如果您的 T 是一个集合并且您想要折叠集合,您可以迭代每个源集合并将每个值添加到目标集合。
但是,在我看来,您真正追求的是对象的可打印视图。如果这是为了调试,我建议找到许多 JSON 支持库之一,并打印对象的 JSON 转换,这将是可读的。我推出了自己的,因为我必须支持 Domino API 类型,所以我不能推荐一个。
我最近一直在做太多的 C#,现在不能用流利的 Java 思考,但与此相近的东西(至少在精神上,如果不是语法或 API 细节)就是你所追求的:
StringBuffer b = new StringBuffer();
boolean first = true;
for (var t : collectionType) {
if (first) {
first = false;
}
else {
b.add(", ");
}
b.add(t.toString());
}
// Aggregated printable values are now b.toString()