- PR -

java1.5のLinkedListについて

1
投稿者投稿内容
くれよん
ベテラン
会議室デビュー日: 2005/04/28
投稿数: 74
投稿日時: 2006-02-08 19:03
こんにちわ。いつも勉強させていただいています。

今までj2sdk1.4.1_03 Eclipse2.1でプログラムを組んでいましたが、
jdk1.5.0_01、Eclipse3.1に変更しました。

そうしたところ、今まではLinkedList.add(Object)でコンパイルできていたものが
警告表示なりました。
APIを見ても、 LinkedList.add(E o)で意味が分からないので、どなたかご教授お願いします。
他に、java5が良くわかるHPなどありましたら。教えてください。よろしくお願いします。

[ メッセージ編集済み 編集者: ジュン 編集日時 2006-02-08 19:04 ]
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2006-02-08 19:18
適当な検索エンジンに「java generics」でお伺いを立ててみましょう。
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2006-02-08 19:18
http://www.javainthebox.net/laboratory/J2SE1.5/contents.html
まずはこのあたりはどうでしょうか?
くれよん
ベテラン
会議室デビュー日: 2005/04/28
投稿数: 74
投稿日時: 2006-02-08 23:00
お返事ありがとうございます。

今まではObjectを突っ込んでいたのを、
宣言時に型のチェックすると言うことが分かりました。
取得する時に、キャストが要らないというのはわかったのですが、格納する時には、
どちらがいいのでしょうか?
LinkedList<Integer> list = new LinkedList<Integer>();
LinkedList<Integer> list2 = new LinkedList<Integer>();
for(int i=0;i<10;i++){
list.add(new Integer(i));
list2.add(i);
}
for(int i=0;i<10;i++) System.out.println(list.get(i)+" "+list2.get(i));

}


かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-08 23:08
静的に型チェックを行いたい(型の安全性に拘りたい)のであれば、
総称型を使用すべきですが、特に拘らない場合や、
コレクションに型を意識せず追加したい場合は不要です。

どちらが正解というより、適材適所ということです。

ちなみに、コレクションフレームワークなど、
あちこちで総称型が使用されていますが、
利用者側まで総称型で定義しなければ警告となってしまいます。

その場合、@SuppressWarnings("unchecked")という注釈を使用することで、
Eclipseのコンパイラに対して警告の抑制を指示することができますよ。
くれよん
ベテラン
会議室デビュー日: 2005/04/28
投稿数: 74
投稿日時: 2006-02-08 23:34
ありがとうございます。

何となく分かってきました。
1.4のプログラムで、いじりたくない部分もあるので、
そのまま置いておこうと思います。
治せる部分、治した方が良い部分は変更しようと思います。

ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)