★★Java質問・相談スレッド167★★
■ このスレッドは過去ログ倉庫に格納されています
0557デフォルトの名無しさん
2014/03/01(土) 15:56:55.27http://docs.oracle.com/javase/7/docs/api/java/util/List.html
プリミティブ型を要素として扱う事が出来ない事が解ると思う
java1.5以前のコードは以下のようになる
List list = new ArrayList();
long pLong1 = 123L;
Long oLong1 = new Long(pLong1); ラッパークラスを用いてプリミティブをオブジェクトで梱包する
Object o1 = (Object)oLong1; Objectクラスにダウンキャスト
list.add(o1);
Object o2 = list.get(0);
Long oLong = (Long)o2; Longクラスにアップキャスト
long pLong2 = oLong.longValue();
java1.5以降のコード
List<Long> list = new ArrayList<Long>();
long pLong1 = 123L;
list.add(pLong1); プリミティブで扱えるのはオートボクシングがラッパークラスに置き換えているため。<Long>と書くことで判別している
long pLong2 = list.get(0);
すべてのプリミティブ型には対応するラッパークラスが用意されている。java1.5以降ならコーダーはそこをあまり気にしなくておk
ジェネリクスの理解の方が優先される
■ このスレッドは過去ログ倉庫に格納されています