发布于 2008-09-29 10:39:59
对集合调用toString应返回一个包含所有元素字符串表示形式的字符串。
这不适用于内置数组,因为它们没有toString覆盖,只会给你一个内存地址。
发布于 2008-09-29 22:52:05
根据您到底想做什么,解决方案可能相当简单。下面的代码不会生成print_r提供的格式化输出,但允许您输出列表、数组和映射的结构:
// Output a list
final List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("three");
list.add("four");
System.out.println(list);
// Output an array
final String[] array = {"four", "three", "two", "one"};
System.out.println(Arrays.asList(array));
// Output a map
final Map<String, String> map = new HashMap<String, String>();
map.put("one", "value");
map.put("two", "value");
map.put("three", "value");
System.out.println(map.entrySet());
对于其他类型的对象,您可以使用reflection为此创建一个utility。
发布于 2008-09-29 10:45:50
您可以尝试一下古老的Apache Commons Lang的ToStringBuilder。
https://stackoverflow.com/questions/148204
复制相似问题