8.8 通配符类型

来源:互联网 发布:windows什么系统好用 编辑:程序博客网 时间:2024/06/01 09:03

1 通配符的概念

虽然泛型类之间没有继承关系。但是可以用通配符来生成一中特殊的继承关系。

public static void printBuddies(Pair<Employee> p){    Employee first = p.getFirst();    Employee second = p.getSecond();    System.out.println(first.getName() + " and " + second.getName() + " are buddies.");}

这个方法这样写,就可以把所有参数是Employee子类的泛型类都包含进去了。

public static void printBuddies(Pair<? extends Employee> p)

这里写图片描述


2 通配符对超类的限定

? super Manager

3 无限定的通配符


4 通配符捕获

public static <T> void swapHelper(Pair<T> p){    T t = p.getFirst();    p.setFirst(p.getSecond());    p.setSecond(t);}public static void swap(Pair<?> p) {     swapHelper(p); }
//这是错的? t = p.getFirst(); // Errorp.setFirst(p.getSecond());p.setSecond(t);
0 0
原创粉丝点击