代码:
Collection c = new ArrayList();
c.add("hello");
c.add("java");
System.out.println(c);
为啥子c输出的不是地址值呢?
A:Collection c = new ArrayList();
这是多态,所以输出c的toString()方法,其实是输出ArrayList的toString();
B:看ArrayList的toString()
而我们在ArrayList里面没有发现toString()方法
以后遇到这种情况,不要慌张,你去父类里面看看。
C:toString()的方法源码
public String toString(){
Iterator <E> it = iterator();//集合本身调用迭代器方法,得到集合迭代器
if(!it.hasNext){
return "[]";
StringBuilder sb = new StringBuilder();
sb.append('[');
for (;;) {
E e = it.next(); //e=hello,world,java
sb.append(e == this ? "(this Collection)" : e);
if (! it.hasNext())
//[hello, world, java]
return sb.append(']').toString();
sb.append(',').append(' ');
}
}
九转成圣
- 粉丝: 5164
- 资源: 2961
最新资源
- (源码)基于Spring Boot和WebSocket的毕业设计选题系统.zip
- (源码)基于C++的机器人与船舶管理系统.zip
- (源码)基于WPF和Entity Framework Core的智能货架管理系统.zip
- SAP Note 532932 FAQ Valuation logic with active material ledger
- (源码)基于Spring Boot和Redis的秒杀系统.zip
- (源码)基于C#的计算器系统.zip
- (源码)基于ESP32和ThingSpeak的牛舍环境监测系统.zip
- 西南科技大学数据库实验三
- Web开发全栈入门与进阶指南:从前端到后端
- TSP问题的概述及其在多领域的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈