代码:
    Collection c = new ArrayList();
    c.add("hello");
    c.add("world");
    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() {
StringBuffer buf = new StringBuffer();
buf.append("["); Iterator<E> i = iterator();
boolean hasNext = i.hasNext();
while (hasNext) {
E o = i.next();
buf.append(o == this ? "(this Collection)" : String.valueOf(o));
hasNext = i.hasNext();
if (hasNext)
buf.append(", ");
} buf.append("]");
return buf.toString();
}

最新文章

  1. 3ds max 渲染清晰面片的边缘
  2. Jquery 操作IFrame
  3. HTML-embed标签详解
  4. Django跑起来
  5. JavaScript 题目破解过程与解析
  6. TCP Socket Establish;UDP Send Package Process In Kernel Sourcecode Learning
  7. [原创]PostgreSQL Plus Advanced Server监控工具PEM(二)
  8. Excel取消保护密码
  9. Xcode学习
  10. flash recovery area配置
  11. 如何组织css,写出高质量的css代码
  12. 安全控件开发原理分析 支付宝安全控件开发 C++
  13. python django model类型摘要
  14. Linux GRUB 2及修改默认启动项
  15. Mr. Kitayuta&#39;s Colorful Graph 多维并查集
  16. 根据首尾字节的tcp分包断包算法
  17. httpClient 发送请求后解析流重用的问题(HttpEntity的重用:BufferedHttpEntity)
  18. cut 命令详解
  19. C#学习笔记14——TRACE、DEBUG和TRACESOURCE的使用以及日志设计
  20. OLAP和OLTP的区别(基础知识) 【转】

热门文章

  1. JDBC Oracle sys 用户连接
  2. Spring ResponseEntity
  3. android开发学习笔记系列(3)--ScrollView与HorizontalScrollView
  4. UVa 10129 Play on Words(并查集+欧拉路径)
  5. Linux下安装SQL Server 2016(准备篇SQL Server on linux)
  6. [android] 切换按钮-自定义控件
  7. eclipse中Cannot change version of project facet Dynamic Web Module to 3.0的问题解决
  8. Java虚拟机 - 语法糖
  9. EF数据库优先模式(三)
  10. POJ2955(KB22-C 区间DP)