带有尖括号的Java类声明

时间:2017-05-21 11:34:35

标签: java java-ee

我是java新手,在阅读代码时遇到了以下语法。

public class APIRequest<T extends APINode> {
}

这种语法是什么意思?它与常规类声明语法不同。

2 个答案:

答案 0 :(得分:0)

<T extends APINode>表示T必须是APINode的子类。

关于泛型:

public class Chest<T> {

    private T t;

    public Chest(T t) {
        this.t = t;
    }

    T getContent() {
        return t;
    }

}

<T>在这里表示您可以创建Chest的参数化类型,其中包含T类型的对象。如果没有泛型类型,则必须为要存储的每种类型创建新类,而不是:

Integer a = 10;
Chest<Integer> chestWithInteger = new Chest<>(a);

Double b = 10.0d;
Chest<Double> chestWithDouble = new Chest<>(b);

您必须创建两个类DoubleChestIntegerChest

答案 1 :(得分:0)

这是泛型。您可以在此处阅读更多内容Generics