私はjavaを使い慣れていないので、コードを読むときに以下の構文で出会いました。角括弧付きのJavaクラス宣言
public class APIRequest<T extends APINode> {
}
この構文は何を意味しますか?通常のクラス宣言構文とは異なります。
私はjavaを使い慣れていないので、コードを読むときに以下の構文で出会いました。角括弧付きのJavaクラス宣言
public class APIRequest<T extends APINode> {
}
この構文は何を意味しますか?通常のクラス宣言構文とは異なります。
<T extends APINode>
は、がAPINode
のサブクラスでなければならないことを意味する。ジェネリック医薬品について
:
public class Chest<T> {
private T t;
public Chest(T t) {
this.t = t;
}
T getContent() {
return t;
}
}
<T>
あなたはT
タイプのオブジェクトが含まれていますChest
のパラメータ化された型を作成することができることをここを意味します。ジェネリック型がなければ、あなたが保存したい種類ごとに新しいクラスを作成する必要があり、その代わりに:
Integer a = 10;
Chest<Integer> chestWithInteger = new Chest<>(a);
Double b = 10.0d;
Chest<Double> chestWithDouble = new Chest<>(b);
次の2つのクラスDoubleChest
とIntegerChest
を作成する必要があります。
これはgenericsです。ここをクリックしてくださいGenerics
Google Java generics。 – Eran
このドキュメントを読むhttp://stackoverflow.com/documentation/java/92/generics#t=201705211135560450356 –
https://docs.oracle.com/javase/tutorial/java/generics/types.html – poisonedYouth