泛型类

泛型类

泛型类的声明和非泛型类的声明类似,除了在类名后面添加了类型参数声明部分。
和迈型方法一样,泛型类的类型参数声明部分也包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。因为他们接受一个或多个参数,这些类被称为参数化的类或参数化的类型。

public class Box<T> {
   
  private T t;
 
  public void add(T t) {
    this.t = t;
  }
 
  public T get() {
    return t;
  }
 
  public static void main(String[] args) {
    Box<Integer> integerBox = new Box<Integer>();
    Box<String> stringBox = new Box<String>();
 
    integerBox.add(new Integer(10));
    stringBox.add(new String("博客园"));
 
    System.out.printf("整型值为 :%d\n\n", integerBox.get());
    System.out.printf("字符串为 :%s\n", stringBox.get());
  }
}

类型通配符

1、类型通配符一般是使用﹖代替具体的类型参数。例如List<?>在逻辑上是List<String>,Listsinteger>等所有List<具体类型实参〉的父类。

2、类型通配符上限通过形如List来定义,如此定义就是通配符泛型值接受Number及其下层子类类型。

3、类型通配符下限通过形如List<? super Number>来定义,表示类型只能接受Number及其三层父类类型,如Object类型的实例。

posted @ 2021-10-31 22:11  kuaiquxie  阅读(24)  评论(0编辑  收藏  举报