Java泛型类

Posted 君子以自强不息

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java泛型类相关的知识,希望对你有一定的参考价值。

定义简单泛型类

一个泛型类(generic class)就是具有一个或多个类型变量的类,泛型类可以看作是普通类的工厂。下面以一个简单的Pair类作为例子。

public class Pair<T> {
    private T first;
    private T second;

    public Pair() {
        this.first = null;
        this.second = null;
    }

    public Pair(T first, T second) {
        this.first = first;
        this.second = second;
    }

    public T getFirst() {
        return this.first;
    }

    public T getSecond() {
        return this.second;
    }

    public void setFirst(T first) {
        this.first = first;
    }

    public void setSecond(T second) {
        this.second = second;
    }
}

Pair类包含一个类型变量T,用尖括号括起来(Pair),并放在类名的后面。泛型类也可以包含多个类型变量,例如,可以重新定义Pair类,使first和second域使用不同的类型:

public class Pair<T,U> {
    private T first;
    private U second;

    public Pair() {
        this.first = null;
        this.second = null;
    }

    public Pair(T first, U second) {
        this.first = first;
        this.second = second;
    }

    public T getFirst() {
        return this.first;
    }

    public U getSecond() {
        return this.second;
    }

    public void setFirst(T first) {
        this.first = first;
    }

    public void setSecond(U second) {
        this.second = second;
    }
}

note

一般类型变量使用大写形式,且比较短。在Java库中,使用E表示集合的元素类型,K和V分别表示表的关键字与值的类型。T(需要时还可以用临近的字母S和U)表示“任意类型”。

以上是关于Java泛型类的主要内容,如果未能解决你的问题,请参考以下文章

Java 泛型泛型简介 ( 泛型类 | 泛型方法 | 静态方法的泛型 | 泛型类与泛型方法完整示例 )

Java泛型类

JAVA泛型类定义问题

java 泛型类的定义

另一个泛型类的 Java 泛型类

java泛型——泛型类泛型方法泛型接口