Java 打印包含StringBuffer对象的ArrayList

Java 打印包含StringBuffer对象的ArrayList,java,arraylist,collections,stringbuffer,Java,Arraylist,Collections,Stringbuffer,我有一个ArrayList,它存储StringBuffer类的对象。 现在我想打印ArrayList。我怎么能那样做呢 Iterator itr=al.iterator(); while(itr.hasNext()) { System.out.println(itr.next()); } 这只打印最后一个对象的al.size次。 另外,如果你能告诉我为什么它只打印最后一个对象的值 public class Test { public static void main(

我有一个
ArrayList
,它存储
StringBuffer
类的对象。 现在我想打印
ArrayList
。我怎么能那样做呢

Iterator itr=al.iterator(); 
while(itr.hasNext())
{  
    System.out.println(itr.next()); 
}
这只打印最后一个对象的
al.size
次。 另外,如果你能告诉我为什么它只打印最后一个对象的值

public class Test {

    public static void main(String[] args) {

        ArrayList al = new ArrayList();
        al.add(new StringBuffer("keshav"));
        al.add(new StringBuffer("sharma"));

        Iterator itr = al.iterator();
        while (itr.hasNext()) {
            System.out.println(itr.next());
        }

    }

}
这对我来说很好

输出:

keshav
sharma

粗略猜测,该列表包含相同的
StringBuffer
实例。你应该给我们看更多的代码,它应该有用。无需更改。因此,
ArrayList
有一个性能良好的
toString
,我只需要使用
System.out.println(al)
。请告诉我们如何填写数组列表!谢谢你,凯沙夫·夏尔玛,成功了。在添加到arraylist时,我实际上并没有创建新的StringBuffer对象。