リストのエラーについて

1324 ワード



		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]);
		}

リストに保存されているのはアドレスで、上記の場合リストに挿入された3つの値は同じアドレスに対応します
出力結果は次のとおりです.
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