パラメータ化された型の代入
原則、右辺のパラメータが左辺で成り立つかどうかをチェックすればよい。 こちらは、StringがObjectのサブクラスであるので成り立つ。 こちらは、ObjectがStringのサブクラスではないのでコンパイルエラーにな…
原則、右辺のパラメータが左辺で成り立つかどうかをチェックすればよい。 こちらは、StringがObjectのサブクラスであるので成り立つ。 こちらは、ObjectがStringのサブクラスではないのでコンパイルエラーにな…
間違えやすいが のように、単にパラメータ化された型を受け取るメソッドはジェネリックメソッドとは言わない。 ジェネリックメソッドは、メソッドに型変数を導入して定義したものなので、 といった形式になる。 ※型変数が複数ある場…
■使用可能 フィールド、ローカル変数、(メソッドの)パラメータ型、戻り値型で使用可能。 ■使用不可 ジェネリッククラス、ジェネリックインタフェース、ジェネリックメソッド、ジェネリックコンストラクタの宣言時の型引数(<>で…
・型変数 EとかTのこと。 任意の文字列を指定できる。 慣例的に、要素はE、キーはK、値はV、一般的な型にはTを使う。 ちなみにStringとか既存の型と同じ名前にすることもできるが、ようはただの変数名なので警告が出る。…
パラメータ化された型を引数にとるメソッドでは、ワイルドカード文字「?」を用いることができ、これを有界ワイルドカードと呼ぶ。 ・上限境界 など。 上限境界を設定したメソッド内では、add(E e)のような型変数を引数に取る…
ジェネリッククラス、ジェネリックインタフェースの宣言では、ワイルドカードは使用不可。
最近のコメント