Javaジェネリクス入門、その8
Javaジェネリクス入門、その7の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。
今回は再帰的ジェネリクスというものを説明するのだが、その準備としてフルーエントインターフェー ...
Javaジェネリクス入門、その7
Javaジェネリクス入門、その6の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。
前回は共変を説明した。今回は反変だ、もし完全に理解できる自信があるならば、この回は読まずにJ ...
Javaジェネリクス入門、その6
Javaジェネリクス入門、その5の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。
今回は共変を説明するのだが、もし完全に理解できる自信があるならば、この回は読まずにJavaジ ...
Javaジェネリクス:自身を返すメソッドを上位クラスで定義する
ジェネリクスを使うことによって、自分自身を返すメソッドを上位クラスで定義する方法がある。もちろん、下位クラスを追加する際に面倒な記述の必要はない。
問題の根源ここでは、以下のようなクラス階層を使う。
Animal + ...Javaジェネリクス:共変、反変、非変(これ以上簡単にはならない)
Javaのジェネリクスの共変、反変、非変について書いてみるのだが、非常に重要な概念であるにも関わらず、ネットを検索してみると、非常に理屈っぽく難しい説明しか無いように思う。
これらを読んでみると、「俺はバカなのか」と感じる ...
Javaジェネリクス:型パラメータの関連性を保ったままマップに保持する
正式にはどのような呼称になるのかわからないのだが、以下のような状況がある。
前提条件public class Sample { public static abstract class Action<R extends R ...ジェネリックメソッドの文脈で正しい型を指定する
ジェネリックメソッドでは、その文脈で実際の型が特定されるのだが、これが容易な場合と困難な場合がある。特にラムダ式を使いたい場合に問題になる。
サンプルで使用するクラス以下のクラスをこの後のサンプルで使用する。
pub ...Java:ジェネリクスの情報取得方法
一般にJavaではコンパイル時にのみジェネリックス情報が使われ、バイナリ(.class)になった時には消えてしまうと説明されることが多いのだが、そんなことは全くない。
そもそも.classに型パ ...
Javaジェネリクス入門、その5
Javaジェネリクス入門、その4の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。
前回はジェネリックメソッドについて説明したが、以前に戻ってジェネリッククラスをもう少し追求し ...
Javaジェネリクス入門、その4
Javaジェネリクス入門、その3の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。
結局のところジェネリクスとは何をするものか?何となくジェネリクスの目的がわかってきたかもしれ ...