講座

Javaジェネリクス入門、その7の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。

今回は再帰的ジェネリクスというものを説明するのだが、その準備としてフルーエントインターフェー ...

講座

Javaジェネリクス入門、その6の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。

前回は共変を説明した。今回は反変だ、もし完全に理解できる自信があるならば、この回は読まずにJ ...

講座

Javaジェネリクス入門、その5の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。

今回は共変を説明するのだが、もし完全に理解できる自信があるならば、この回は読まずにJavaジ ...

技術メモ

ジェネリクスを使うことによって、自分自身を返すメソッドを上位クラスで定義する方法がある。もちろん、下位クラスを追加する際に面倒な記述の必要はない。

問題の根源

ここでは、以下のようなクラス階層を使う。

Animal + ...

技術メモ

Javaのジェネリクスの共変、反変、非変について書いてみるのだが、非常に重要な概念であるにも関わらず、ネットを検索してみると、非常に理屈っぽく難しい説明しか無いように思う。

これらを読んでみると、「俺はバカなのか」と感じる ...

技術メモ

正式にはどのような呼称になるのかわからないのだが、以下のような状況がある。

前提条件public class Sample { public static abstract class Action<R extends R ...

技術メモ

ジェネリックメソッドでは、その文脈で実際の型が特定されるのだが、これが容易な場合と困難な場合がある。特にラムダ式を使いたい場合に問題になる。

サンプルで使用するクラス

以下のクラスをこの後のサンプルで使用する。

pub ...

技術メモ

ジェネリックス型情報は保持される

一般にJavaではコンパイル時にのみジェネリックス情報が使われ、バイナリ(.class)になった時には消えてしまうと説明されることが多いのだが、そんなことは全くない。
そもそも.classに型パ ...

講座

Javaジェネリクス入門、その4の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。

前回はジェネリックメソッドについて説明したが、以前に戻ってジェネリッククラスをもう少し追求し ...

講座

Javaジェネリクス入門、その3の続きである。JavaジェネリクスについてはJavaジェネリクスにまとめがあるので参照されたい。

結局のところジェネリクスとは何をするものか?

何となくジェネリクスの目的がわかってきたかもしれ ...