Java 泛型

default

概要

泛型最主要的好处是减少人工代码的编写,不需要为每种情况写一份代码。

一般泛型

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
// 泛型类
public class Gen<T>{
    ...
}

// 泛型接口
public interface List<T> extends Collection<T>{
    ...
}

// 泛型方法
public class Test {
    public <T> void funtion(T t) {
        System.out.println(t.toString());
    }
}

<? extend T> 和 <? super T>

List<? extends T>:声明上界,表示参数化的类型可能是所指定的 T 类型,或者是此类。仅用于取值。

1
2
3
public interface List<E> extends Collection<E> {
    boolean addAll(int index, Collection<? extends E> c);
}

List<? super T>: 声明下界,表示参数化的类型可能是所指定的 T 类型,或者是此类型。仅用于放值。

Licensed under CC BY-NC-SA 4.0
Gear(夕照)的博客。记录开发、生活,以及一些不足为道的思考……