在使用集合时,都习惯性的使用循环遍历其中的每个元素。

想知道集合中的每个元素的信息,是不是必须要循环遍历每个元素呢?

比如在打印日志信息时,有些集合如List需要记录下来,一般都使用循环遍历集合,将集合中的每个元素的信息再记录下来,有没有更简便的方法呢?

对象的信息一般都会使用其toString()方法展示,那么集合的toString()方法又会展示什么信息呢?

下面通过一个简单的程序来探索下:

public class ArrayListTest2 {public static void main(String[] args) {ArrayList list = new ArrayList();list.add(new Point(1,2));list.add(new Point(3,4));for(int i=0;i<list.size();i++){System.out.println(list.get(i));}System.out.println(list); //打印list等同于打印其toString()方法。//System.out.println(list.toString());}
}
class Point{int x, y;Point(int x, int y){this.x = x;this.y = y;}@Overridepublic String toString() {return "x=" + x + ", y=" + y;}
}

当我们不为Point类重写其toString()方法时,我们执行上面的代码,得到的打印结果如下:

my.arraylist.Point@c17164
my.arraylist.Point@1fb8ee3
[my.arraylist.Point@c17164, my.arraylist.Point@1fb8ee3]

但是,当我们为Point类重写其toString()方法时,我们又得到了下面的不同的结果:

x=1, y=2
x=3, y=4
[x=1, y=2, x=3, y=4]

相信通过上面的比较,我们就可以很明显的知道了List的toString()方法都做了哪些事情:

List的toString()方法调用了其存储的每个元素的toString()方法。

结论:当我们实现了需要记录的对象的toString()方法时,并将它们存放入了集合中时,想要打印记录其信息时,可以直接打印记录该集合即可,集合会将存放的每个元素继续打印记录。

转载于:https://blog.51cto.com/zlfwmm/1706168

Java记录 -45- List的toString方法相关推荐

  1. Java笔记:包装类、toString()方法、单例类、比较(==和equals方法)

    1.包装类 1)包装类为基本数据类型提供了相应的引用数据类型. (基本数据类型-包装类) btye-Byte,char-Character,short-Short,float-Float int-In ...

  2. java重写的代码_java tostring方法重写代码示例

    当需要将一个对象输出到显示器时,通常要调用他的toString()方法,将对象的内容转换为字符串.java中的所有类默认都有一个toString()方法 默认情况下 System.out.printl ...

  3. 【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  4. java lang tostring_java.lang.String.toString()方法实例

    全屏 java.lang.String.toString() 方法表示以文本格式表示结果,并返回字符串本身. 声明 以下是java.lang.String.toString()方法的声明public  ...

  5. java 默认tostring_【java基础】为什么重写toString()方法?

    不得不说,有很多java初学者写java实体类的时候,并没有真正理解重写toString() 方法,可能是口头知道也可能是跟风随带添加toString() 方法,并没有真正理解其意义,如果真要被问起来 ...

  6. [转载] java重写toString()方法

    参考链接: 在Java中重写toString() 前言: 在你兴高采烈的写完一个类,创建测试类时,创建对象,传入参数,调用对象,以为会得到参数值,但突然发现输出的是" 类名@什么东东?(其实 ...

  7. java 子类tostring,JAVA中Object类的toString()方法,objecttostring

    JAVA中Object类的toString()方法,objecttostring toString public String toString() 返回该对象的字符串表示.通常,toString 方 ...

  8. java uuid静态方法_Java UUID toString()方法与示例

    java uuid静态方法 UUID类toString()方法 (UUID Class toString() method) toString() method is available in jav ...

  9. 学习Java的第五天 | 定义方法 | 引用数据类型——类 | 访问权限-修饰符 | 全局变量与局部变量 | toString | 构造方法 | 方法重载

    前面提到的,冒泡排序,二分查找,我们有时候写代码可能不止要查到一种数组的数据,这时候我们就很需要想循环那样的结构,来帮我们解决代码冗余的情况. 我们前面使用的main方法,是一个java程序的入口,我 ...

最新文章

  1. Mac 安装 MySQL-python 问题解决
  2. python如何调用c++numpy.ndarray代码_python – 在cython中使用numpy:定义ndarray数据类型/ ndims...
  3. stm32f103rb升级到stm32f103rc时代码移植注意事项
  4. C++中的类对象的内存分布以及虚函数表内存分布
  5. 计算机组装网上攒机,手把手教你攒电脑:组装电脑全过程
  6. 浅谈linux字符设备注册
  7. php 获取301 302的真实地址
  8. lua中的require、dofile、loadfile
  9. java8 函数式编程_您必须学习Java 8的函数式编程吗?
  10. a标签跳到另一个页面指定选项卡_HTML常用标签
  11. Caffe CuDNN版本与环境不同导致make错误
  12. CentOs基础操作指令(文件目录类)
  13. word2007修复工具_使用Word 2007作为博客工具
  14. GB2312区位码、编码表与编码规则
  15. windows释放GPU内存方法
  16. AI 搜房,贝壳找房的Milvus实践
  17. 你还不了解的OKRs-E是什么?
  18. 聚科技精英,享开源之美- 2019 Open Source Summit 主题演讲+项目亮点
  19. [微信支付 ] prepay_id 为空,可能出现的问题?微信支付失败
  20. java 生成当天日期 昨天日期

热门文章

  1. 关于header(Cache-control: private)
  2. debian 升级后mysql_教你在Debian和Ubuntu上升级MySQL
  3. latex 生成中文目录乱码问题解决
  4. python设计模式6-适配器模式
  5. 域控启用ldap_Windows 10 (的域控制器 LDAP 服务器) - Windows security | Microsoft Docs
  6. GC:垃圾回收机制及算法
  7. 二分的思想在算法中体现
  8. kafka图形化管理工具kafka-manager
  9. JVM堆外内存的回收机制分析
  10. rocketMq 顺序消费