-1

我想将 arraylist 的每个元素添加到单个对象中(具有通用基类型 T )

我试图这样做,但是当我打印出作为对象的最终输出时,我只打印了 arraylist 的最后一个元素。

所以它遍历每个元素,但存储和打印最后一个。

有什么建议么?

4

1 回答 1

0

假设您的 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()
于 2012-11-21T23:52:14.627 回答