泛型通配符的使用及类型限定上限
2013-10-23 14:54
253 查看
package frank; import java.lang.*; import java.util.List; import java.util.ArrayList; /** * 泛型通配符的使用及类型限定上限 * */ public class App { public static void main(String[] args)throws Exception { List<B> b2 = new ArrayList<B>(); B b = new B(); b2.add(b); b.get(b2); } } abstract class A { public abstract void add(); protected int age = 10; } class B extends A { @Override public void add() { } /* public void get(List<?> a)//使用通配符,及所有类型 { for(Object item : a) { System.out.println(((A)item).age);//这样子代码变得有些臃肿。 } } */ /* public void get(List<A> a)//如果传List<B>进来也会报错,其实List<B>并不是List<A>的子类了。 { for(A item : a) { System.out.println(item.age);// } } */ public void get(List<? extends A> a)//通过通配符限定,可以传进来的是任意子类 { //我们也不能对a对象里面添加元素,因为我们不知道他是哪个子类。 for(A item : a) { System.out.println(item.age);// } } }
相关文章推荐
- 牛客网Java刷题知识点之泛型概念的提出、什么是泛型、泛型在集合中的应用、泛型类、泛型方法、泛型接口、泛型限定上限、泛型限定下限、 什么时候使用上限?泛型限定通配符的体现
- 使用泛型实现类型转化-使用通配符上限下限区分协变和逆变采取不同的转化方式
- Java泛型——类型通配符<?> 与 类型通配符上限<? extends Number>
- Java基础(21):泛型—泛型的定义、用法与类型通配符的使用方式
- 深入理解泛型,类型通配符<?>,类型通配符上限,下限
- Java泛型类型限定和通配符类型限定
- Java基础之泛型——使用通配符类型参数(TryWildCard)
- 在 Java 的泛型类型中使用通配符
- 泛型类型的子类及通配符的使用
- 泛型类型的子类及通配符的使用
- 泛型类型通配符?的使用
- 如何在使用了泛型限定的集合中存入其它类型的元素?
- 在 Java 的泛型类型中使用通配符
- 泛型通配符:泛型上限通配符? extends 上限类型
- JAVA集合泛型,类型擦除,类型通配符上限之类的知识点
- 泛型类型限定和通配符类型限定
- java_泛型,设置类型通配符的上限
- 泛型(Generic):了解泛型、泛型的应用、?通配符和泛型的限定、泛型方法和类型推断、泛型类、用反射获得实际
- 在 Java 的泛型类型中使用通配符
- 在 Java 的泛型类型中使用通配符