Tôi đang tìm một bản in các bộ sưu tập lồng nhau trong Java đã đưa tôi đến đây. Tuy nhiên, câu trả lời chỉ hoạt động cho Maps vì vậy tôi nghĩ tôi sẽ thêm giải pháp của mình cho Bộ sưu tập lồng nhau. Nó tạo ra một đầu ra giống như JSON, nếu bạn muốn dòng mới thêm "] \ n" thay vì ']'.
Lưu ý rằng điều này sẽ không tạo ra đầu ra khá nếu Object [] chứa các phần tử lồng nhau. Bạn sẽ cần phải viết một phương thức riêng để xử lý các mảng lồng nhau. Ngoài ra nó sẽ không in các mảng nguyên thuỷ, vì bạn cần một câu lệnh khác cho mọi kiểu mảng nguyên thủy.
private static <A extends Collection<B>, B> String nestedToString(A collection) {
if (collection == null)
return "null";
String ret = "";
Iterator<B> 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;
}
không hoạt động, hãy thử cách này - http://commons.apache.org/proper/commons-collections/javadocs/api-2.1.1/org/apache/commons/collections/MapUtils.html – gauravphoenix
@gauravphoenix Tôi đã cập nhật liên kết. Lưu ý rằng bạn đã liên kết với phiên bản 2.1.1, trong khi có phiên bản 3.2.1. (4.0 vẫn là alpha) – lbalazscs