进阶day02-泛型通配符的上下限(受限泛型)(了解)
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user