Khi tôi làm System.out.println(map)
trong Java, tôi nhận được một đầu ra tốt đẹp trong stdout. Làm thế nào tôi có thể có được cùng một chuỗi đại diện của một Map
trong một biến mà không can thiệp với đầu ra tiêu chuẩn? Một cái gì đó như String mapAsString = Collections.toString(map)
?Ánh xạ tới chuỗi trong Java
49
A
Trả lời
95
Sử dụng Object#toString()
.
String string = map.toString();
Sau khi tất cả cũng là những gì System.out.println(object)
không nằm trong mũ trùm. Định dạng cho bản đồ được mô tả trong AbstractMap#toString()
.
8
Bạn cũng có thể sử dụng bộ sưu tập google (ổi) Lớp người tham gia nếu bạn muốn tùy chỉnh định dạng in
Nhấn F3 trên phương thức toString() của bản đồ là gây hiểu nhầm! Đưa bạn thẳng đến Object.toString() - nên suy nghĩ trước khi tham gia F3 – Adam
@Adam, đó là bởi vì bạn gọi toString() trên giao diện, nơi mà phương pháp này, tất nhiên, không được xác định. IDE của bạn không biết về thực thi thời gian chạy thực tế. Bạn không nên đổ lỗi cho cô ấy. –
@VictorDombrovsky Bất kỳ IDE nửa kiểu nào (ví dụ: IntelliJ, Eclipse, v.v.) sẽ có thể theo dõi việc triển khai thực tế của một phương thức được xác định trong giao diện. – wheeler