2017-12-01から1ヶ月間の記事一覧

Java Generics Hell - new T()

Java Generics Hell アドベントカレンダー 24日目。 前回(22日目) イレイジャ 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。今回はJavaのジェネリクスでは型変数を用いてnew T()できないけど特に問題ないという話。 コンストラクタの形 コンス…

Java Generics Hell - イレイジャ

Java Generics Hell アドベントカレンダー 22日目。 前回(20日目) ブリッジメソッド 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 メソッドのオーバーロード Javaのジェネリクスのイレイジャについて語るには、まずメソッドのオーバーロード…

Java Generics Hell - ブリッジメソッド

Java Generics Hell アドベントカレンダー 20日目。 前回(19日目) 内部クラスと型変数のスコープ 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 共変戻り値 Java5以降ではメソッドをオーバーライドするときに、戻り値をより具体的な型としてオ…

Java Generics Hell - 内部クラスと型変数のスコープ

Java Generics Hell アドベントカレンダー 19日目。 前回(18日目) ジェネリックな例外 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。Javaでは1ファイルにトップレベルのpublicなclassはひとつしか置けないが、入れ子になったクラスなどを用意…

Java Generics Hell - ジェネリックな例外

Java Generics Hell アドベントカレンダー 18日目。 前回(16日目) 型変数のバインド 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 throws E Java のジェネリクスの型変数は例外のthrows宣言でも用いることができる。型変数の宣言時にthrow可…

Java Generics Hell - 型変数のバインド

Java Generics Hell アドベントカレンダー 16日目。 前回(15日目) ワイルドカード落穂ひろい 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 メソッドスコープの型変数 メソッドスコープの型変数へのバインドについては以前も書いたが再掲して…

Java Generics Hell - ワイルドカード落穂ひろい

Java Generics Hell アドベントカレンダー 15日目。 前回(14日目) http://d.hatena.ne.jp/Nagise/20171214/1513260215=反変ワイルドカード 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。共変ワイルドカードと反変ワイルドカードについて書いた…

Java Generics Hell - 反変ワイルドカード

Java Generics Hell アドベントカレンダー 14日目。 前回(13日目) 共変ワイルドカード 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 反変ワイルドカード さて、前回は共変ワイルドカードについてだった。今回は反変ワイルドカードについてで…

Java Generics Hell - 共変ワイルドカード

Java Generics Hell アドベントカレンダー 13日目。 前回(11日目) 型変数の境界 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 変性 パラメタライズドタイプについては以前に書いたが、ワイルドカードについては後回しということにしていた。<…

Java Generics Hell - 型変数の境界

Java Generics Hell アドベントカレンダー 11日目。 前回(8日目) インスタンススコープのジェネリクス 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。週末サボりました。すいません。 型変数の境界 ここまでは話を簡単にするために型変数の境界…

Java Generics Hell - インスタンススコープのジェネリクス

Java Generics Hell アドベントカレンダー 8日目。 前回(7日目) メソッドスコープのジェネリクス 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。ようやくクラスの型変数の話にたどり着いた。なかなか話題が多くて大変なのである……。 インスタン…

Java Generics Hell メソッドスコープのジェネリクス

Java Generics Hell アドベントカレンダー 7日目。 前回(6日目)ジェネリクスの構文 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。前回、構文の話をしていたが、そのなかでメソッドスコープのジェネリクスをいったんおいていた。 今回はそのあ…

Java Generics Hell - ジェネリクスの構文

Java Generics Hell アドベントカレンダー 6日目。 前回(5日目) パラメタライズドタイプ 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。ここまで話の簡単のためにいろいろ端折って書いてきているのだが、徐々に詳細を書かねばなるまい。同時に…

Java Generics Hell - パラメタライズドタイプ

Java Generics Hell アドベントカレンダー 5日目。 1日目 Java Generics Hell 序章 2日目 オブジェクト指向 3日目 リスコフの置換原則 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 パラメタライズドタイプ Javaのジェネリクス周りは一緒くた…

Java Generics Hell - 配列と変性

Java Generics Hell アドベントカレンダー 4日目。 1日目 Java Generics Hell 序章 2日目 オブジェクト指向 3日目 リスコフの置換原則 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。前回は継承のある型システムで重要な「リスコフの置換原則」…

Java Generics Hell - リスコフの置換原則

Java Generics Hell アドベントカレンダー 3日目。 1日目 Java Generics Hell 序章 2日目 オブジェクト指向 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。前回はオブジェクト指向の中核が(継承に限定せず幅広い意味での)ポリモーフィズムで…

Java Generics Hell - オブジェクト指向

Java Generics Hell アドベントカレンダー 2日目。 1日目 Java Generics Hell 序章 読者の推奨スキルとしてはOCJP Silverぐらいを想定している。前回は与太話だった。ジェネリクスの話をする前にOOP(オブジェクト指向プログラミング)について整理しておか…

Java Generics Hell 序章

気合が続くか分からない Java Generics Hell アドベントカレンダー 1日目。読者の推奨スキルとしてはOCJP Silverぐらいを想定している。 導入 JavaのジェネリクスはJavaが設計された当初(Javaは1995年に発表されている)から検討はされてはいたものの、実装が…