首页
学习
活动
专区
工具
TVP
发布

print_r?
EN

Stack Overflow用户
提问于 2008-09-29 10:28:41
回答 8查看 27.5K关注 0票数 18

上一次我问到如何填充数据结构here。现在,我想知道在Java语言中是否有什么东西,比如我在PHP语言中使用的print_r,来表示我在Map和lists中填充的内容,而不必执行我自己的算法。

有什么想法吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2008-09-29 10:39:59

对集合调用toString应返回一个包含所有元素字符串表示形式的字符串。

这不适用于内置数组,因为它们没有toString覆盖,只会给你一个内存地址。

票数 10
EN

Stack Overflow用户

发布于 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

票数 8
EN

Stack Overflow用户

发布于 2008-09-29 10:45:50

您可以尝试一下古老的Apache Commons Lang的ToStringBuilder

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/148204

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档