Java泛型类

Java泛型类

Java泛型类声明除了类名之后是类型参数部分,其它看起来像非泛型类声明。

泛型类的类型参数部分可以有一个或多个类型参数,它们之间用逗号分隔。这些类称为参数化类或参数化类型,因为它们接受一个或多个参数。

语法

public class Box<T> {
   private T t;
}

在上面声明中,

  • Box - Box是一个泛型类。
  • T - 这是参数传递给泛型类的泛型类型,它可以采取任何对象。
  • t - 泛型类型T的一个实例

描述

T是传递给泛型类Box的类型参数,当创建一个Box对象时就要传递了。

示例

使用您喜欢的编辑器创建以下java程序代码并保存到文件:GenericsClasses.java,如下所示 -

package com.zyiz;

public class GenericsClasses {
    public static void main(String[] args) {
        Box<Integer> integerBox = new Box<Integer>();
        Box<String> stringBox = new Box<String>();

        integerBox.add(new Integer(199));
        stringBox.add(new String("Hello World"));

        System.out.printf("Integer Value :%d\n", integerBox.get());
        System.out.printf("String Value :%s\n", stringBox.get());
    }
}

class Box<T> {
    private T t;

    public void add(T t) {
        this.t = t;
    }

    public T get() {
        return t;
    }
}

执行上面代码,将产生以下结果 -

Integer Value :199
String Value :Hello World