Generics(3)


6.ジェニーンリックの方法

  • メソッドの宣言子にギネスタイプのメソッド
  • が宣言されています.
  • ギネスタイプの宣言位置は、タイプを返す前の
  • にあります.
  • ギネスブックで定義されているタイプパラメータは、ギネスブックで定義されているタイプパラメータとはまったく異なります.
    タイプパラメータは、
  • の静的メンバーには使用できませんが、メソッドEnericタイプを宣言して使用する必要があります.
    (ギネス法は非ギネス類にも定義できる)
    Ex)
  •       static <T> void sort(List<T> list, Comparator< ? super T > c ) // 가능
    
          static Juice makeJuice(FruitBox<T> box) // 불가능
  • ギネスメソッドを呼び出す場合は、タイプ変数にタイプを導入する必要があります.
    ただし、ほとんどの場合、コンパイラはタイプを推定できるので省略できます.
    Ex)
  •       FruitBox<Fruit> fruitBox = new FruitBox<Fruit> ();
    
          System.out.println(Juicer.<Fruit>makeJuice(fruitBox)); // 타입을 대입
          System.out.println(Juicer.makeJuice(fruitBox)); // 생략 가능
  • 同じクラスのメンバーの間に参照変数またはクラス名、すなわち「this」があります.私は「クラス名」です.メソッド名は省略して呼び出すことができます.
    代入タイプがある場合は、クラス名を記入する必要があります.
    クラス名を省略できない場合は、置換されたタイプは省略できません.
  • 7.ムカデ型の変換

  • ギネスタイプ->オリジナルタイプ(O)
  • オリジナルタイプ->ギネスタイプ(O)
  • ギネスタイプ->ギネスタイプ(X)
  • Genericタイプ->ワイルドカードを含むGenericタイプ(O)-逆も同様
    Ex) Box<String> -> Box<? extends Object>
  • ワイルドカードを含むギネスタイプ->ワイルドカードを含むギネスタイプ(O)
    Ex ) Box<? extends Object> <-> Box<? extends String>
  • JAvaの定式第12章