泛型的限定实例

桃扇骨 2022-02-05 01:51 319阅读 0赞

泛型的限定实例

  1. package com.zr;
  2. import java.util.ArrayList;
  3. import java.util.Collection;
  4. /*
  5. 泛型的上限限定:? extends E 代表使用泛型只能是E类型的子类/本身
  6. 泛型的下限限定:? super E 代表使用泛型只能是E类型的父类/本身
  7. */
  8. public class DemoGeneric {
  9. public static void main(String[] args) {
  10. Collection<Integer> list1=new ArrayList<>();
  11. Collection<String> list2=new ArrayList<>();
  12. Collection<Number> list3=new ArrayList<>();
  13. Collection<Object> list4=new ArrayList<>();
  14. getElement1(list1);
  15. getElement1(list2);//报错
  16. getElement1(list3);
  17. getElement1(list4);//报错
  18. getElement2(list1);//报错
  19. getElement2(list2);//报错
  20. getElement2(list3);
  21. getElement2(list4);
  22. }
  23. //泛型的上限:此时的泛型?,必须是Number类型或者Number类型的子类
  24. public static void getElement1(Collection<? extends Number> coll){}
  25. //泛型的下限:此时的泛型?,必须是Number类型或者Number类型的父类
  26. public static void getElement2(Collection<? super Number> coll){}
  27. }

发表评论

表情:
评论列表 (有 0 条评论,319人围观)

还没有评论,来说两句吧...

相关阅读