59 lines
1.8 KiB
Java
59 lines
1.8 KiB
Java
package com.inmind.generic_advance06;
|
||
|
||
import java.util.ArrayList;
|
||
/*
|
||
13.泛型通配符的使用(了解)
|
||
当我们想接收一个数据类型,它们的泛型不一致,但是方法中的操作是一致的时候,如果操作????
|
||
泛型通配符:?,它的作用是能够匹配任意的泛型类型
|
||
*/
|
||
public class Demo07 {
|
||
public static void main(String[] args) {
|
||
//创建3个人
|
||
Person p1 = new Person("张三", 18);
|
||
Person p2 = new Person("李四", 19);
|
||
Person p3 = new Person("王五", 20);
|
||
|
||
ArrayList<Person> pLists = new ArrayList<>();
|
||
pLists.add(p1);
|
||
pLists.add(p2);
|
||
pLists.add(p3);
|
||
|
||
//把集合中的对象,使用foreach遍历打印打印输出,本质是迭代器
|
||
/*for (Person p : pLists) {
|
||
System.out.println(p);//将p的toString的方法返回值,打印出来
|
||
}*/
|
||
// showPerson(pLists);
|
||
show(pLists);
|
||
|
||
//创建3个学生
|
||
ArrayList<Student> sLists = new ArrayList<>();
|
||
sLists.add(new Student("刘备", 17));
|
||
sLists.add(new Student("关羽", 16));
|
||
sLists.add(new Student("张飞", 15));
|
||
|
||
/*for (Student s : sLists) {
|
||
System.out.println(s);
|
||
}*/
|
||
show(sLists);
|
||
}
|
||
//注意:ArrayList<Object>参数类型时,泛型是没有多态!!!!
|
||
public static void show(ArrayList<?> list){
|
||
for (Object o : list) {
|
||
System.out.println(o);
|
||
}
|
||
}
|
||
|
||
|
||
/* public static void showPerson(ArrayList<Person> list){
|
||
for (Person person : list) {
|
||
System.out.println(person);
|
||
}
|
||
}
|
||
|
||
public static void showStudent(ArrayList<Student> list){
|
||
for (Student s : list) {
|
||
System.out.println(s);
|
||
}
|
||
}*/
|
||
}
|