进阶day02-泛型通配符的上下限(受限泛型)(了解)

This commit is contained in:
2026-01-31 15:01:08 +08:00
parent 6090e411a0
commit 2ae95bc5fe

View File

@@ -5,6 +5,12 @@ import java.util.ArrayList;
13.泛型通配符的使用(了解) 13.泛型通配符的使用(了解)
当我们想接收一个数据类型,它们的泛型不一致,但是方法中的操作是一致的时候,如果操作???? 当我们想接收一个数据类型,它们的泛型不一致,但是方法中的操作是一致的时候,如果操作????
泛型通配符:?,它的作用是能够匹配任意的泛型类型 泛型通配符:?,它的作用是能够匹配任意的泛型类型
---------------------------------------------------
格式:
<? extends B> :泛型的类型只能是B类型或者B类型的子类上限
<? super B> : 泛型的类型只能是B类型或者B类型的父类下限
*/ */
public class Demo07 { public class Demo07 {
public static void main(String[] args) { public static void main(String[] args) {
@@ -35,11 +41,17 @@ public class Demo07 {
System.out.println(s); System.out.println(s);
}*/ }*/
show(sLists); show(sLists);
// show(new ArrayList<Object>());
} }
//注意ArrayList<Object>参数类型时,泛型是没有多态!!!! //注意ArrayList<Object>参数类型时,泛型是没有多态!!!!
public static void show(ArrayList<?> list){ public static void show(ArrayList<? extends Person> list){//上限只能是Person及其子类
for (Object o : list) { // public static void show(ArrayList<? super Person> list){//下限只能是Person及其父类
/*for (Object o : list) {
System.out.println(o); System.out.println(o);
}*/
for (Person p : list) {
System.out.println(p);
} }
} }