我正在寻找在Java中打印嵌套集合,这让我来到这里。但是这些答案仅适用于地图,因此我认为我会为嵌套集合添加我的解决方案。它产生类似JSON的输出,如果你想要换行添加“] \ n”而不是']'。
请注意,如果Object []包含嵌套元素,则不会产生漂亮的输出。您需要编写一个单独的方法来处理嵌套数组。此外,它不会打印原始数组,因为您需要为每个基本数组类型使用else语句。
private static , B> String nestedToString(A collection) {
if (collection == null)
return "null";
String ret = "";
Iterator colIterator = collection.iterator();
if (colIterator.hasNext()) {
ret += '[';
while (colIterator.hasNext()) {
B object = colIterator.next();
if (object == null) {
ret += "null";
} else if (object instanceof Collection) {
ret += nestedToString((Collection) object);
} else if (object instanceof Object[]) {
ret += Arrays.deepToString((Object[]) object);
} else {
ret += object;
}
if (colIterator.hasNext()) {
ret += ", ";
}
}
ret += ']';
}
return ret;
}