我想将一个arraylist的每个元素添加到一个对象(具有通用基类型T)中
我试图这样做但是当我打印出作为对象的最终输出时,我只打印了arraylist的最后一个元素。
所以它通过每个元素进行迭代,但是存储并打印最后一个元素。
有什么建议吗?
答案 0 :(得分: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()