欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > > 文章正文

ArrayList的toString()方法,arraylisttostring

来源: javaer 分享于  点击 11193 次 点评:158

ArrayList的toString()方法,arraylisttostring


这个小程序中为什么输出[100,200]呢

import java.util.ArrayList;
import java.util.List;
public class Hello {
 public static void main(String[] args) {
  List<Integer> list = new ArrayList<Integer>();
  list.add(100);
  list.add(200); 
  System.out.println(list);
 }
}

找了半天toString方法原来在AbstractCollection类中重写的 , 从ArrayList类的声明public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, Serializable 中找到 AbstractList  ,从这个类的声明public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>中找到AbstractCollection ,就在AbstractCollection中重写的toString方法,打开源码可以看到

public String toString() {
    Iterator<E> i = iterator();
    if (! i.hasNext())
      return "[]";

    StringBuilder sb = new StringBuilder();
    sb.append('[');
    for (;;) {
       E e = i.next();
       sb.append(e == this ? "(this Collection)" : e);
       if (! i.hasNext())
          return sb.append(']').toString();
      sb.append(", ");
    }   
}

相关文章

    暂无相关文章

用户点评