`
kevin.wang
  • 浏览: 245093 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于list的错误

    博客分类:
  • SE
阅读更多

		LinkedList<String[]> ll=new LinkedList<String[]>();
		String[] s1=new String[2]; 
		s1[0]="a";s1[1]="a";
		ll.add(s1);
		s1[0]="b";s1[1]="b";
		ll.add(s1);
		s1[0]="c";s1[1]="c";
		ll.add(s1);
		
		Iterator iterator=ll.iterator();
		while(iterator.hasNext()){
			String[] s=(String[])iterator.next();
			System.out.println(s[0]+"==="+s[1]);
		}


list中保存的为地址,上述情况插入list的三个值对应同一地址
所以输出结果为:
c===c
c===c
c===c

改为

	         LinkedList<String[]> ll=new LinkedList<String[]>();
		String[] s1=new String[2]; 
		s1[0]="a";s1[1]="a";
		ll.add(s1);
                  s1=new String[2];
		s1[0]="b";s1[1]="b";
		ll.add(s1);
                  s1=new String[2];
		s1[0]="c";s1[1]="c";
		ll.add(s1);
		
		Iterator iterator=ll.iterator();
		while(iterator.hasNext()){
			String[] s=(String[])iterator.next();
			System.out.println(s[0]+"==="+s[1]);
		}


所以输出结果为:
a===a
b===b
c===c

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics