ジェネリクス対応のクラスやメソッドを作る時のためのメモ
・クラスで使う
・メソッドで使う
・クラス名を指定して、ArrayListで返す。
ここで、リストの要素として、T型のオブジェクトをnewしたい時に、
huga.add(nwe T());とすると、コンパイルエラー。
なので、
type.newInstance();
で作る!!
ただ、こいつは、
InstantiationExceptionとIllegalAccessExceptionを投げつけるので、
try ~ catchが必要。
毎回try ~ catchを書くのは面倒なので外だし
で、
とかする。
エラー出ても、とりあえず全力でスルーするけど、
そのあとにぬるぽになるから注意www
あと、<? extends Hoge>とかやると、Hogeとそのサブクラスはおk的なことができたり、
<? extends Object>や<?>なんかだと何でもありだったり、
あと、
(T[]) Array.newInstance(type, DEFAULT_LENGTH);
とかでTの配列がnewできたりするらしい。
メモ終わり。
<参考>
【コラム】ライトニングJava (24) Generic Java(5) - Genericを使ってAPIを作成する その2
http://journal.mycom.co.jp/column/java/024/index.html
【コラム】ライトニングJava (25) Generic Java(6) - Genericを使ってAPIを作成する その3
http://journal.mycom.co.jp/column/java/025/index.html
Java総称型メモ(Hishidama's Java Generics Memo)
http://www.ne.jp/asahi/hishidama/home/tech/java/generics.html
Javaの理論と実践: Generics、了解!
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
404 shin1のつぶわき ないわー Not Found: Genericsにてnew T()できないのがキモイ
http://shin1o.blogspot.com/2008/02/genericsnew-t.html
P.S.
早く就活終わってほしい・・・
もっとプログラム書きたいよー涙(仕事以外で)
・クラスで使う
・メソッドで使う
・クラス名を指定して、ArrayListで返す。
ここで、リストの要素として、T型のオブジェクトをnewしたい時に、
huga.add(nwe T());とすると、コンパイルエラー。
なので、
type.newInstance();
で作る!!
ただ、こいつは、
InstantiationExceptionとIllegalAccessExceptionを投げつけるので、
try ~ catchが必要。
毎回try ~ catchを書くのは面倒なので外だし
で、
とかする。
エラー出ても、とりあえず全力でスルーするけど、
そのあとにぬるぽになるから注意www
あと、<? extends Hoge>とかやると、Hogeとそのサブクラスはおk的なことができたり、
<? extends Object>や<?>なんかだと何でもありだったり、
あと、
(T[]) Array.newInstance(type, DEFAULT_LENGTH);
とかでTの配列がnewできたりするらしい。
メモ終わり。
<参考>
【コラム】ライトニングJava (24) Generic Java(5) - Genericを使ってAPIを作成する その2
http://journal.mycom.co.jp/column/java/024/index.html
【コラム】ライトニングJava (25) Generic Java(6) - Genericを使ってAPIを作成する その3
http://journal.mycom.co.jp/column/java/025/index.html
Java総称型メモ(Hishidama's Java Generics Memo)
http://www.ne.jp/asahi/hishidama/home/tech/java/generics.html
Javaの理論と実践: Generics、了解!
http://www.ibm.com/developerworks/jp/java/library/j-jtp01255/
404 shin1のつぶわき ないわー Not Found: Genericsにてnew T()できないのがキモイ
http://shin1o.blogspot.com/2008/02/genericsnew-t.html
P.S.
早く就活終わってほしい・・・
もっとプログラム書きたいよー涙(仕事以外で)

コメントする