Java泛型
package com.qf.demo01;
import java.util.ArrayList;
import java.util.Collection;
import java.util.zip.CRC32;
public class Test1Generics {
public static void main(String[] args) {
//1.不适用泛型
Collection c1 = new ArrayList();
c1.add("abc");//String-->Object
c1.add(100);//int->Integer-->Object
//for-each遍历
for(Object obj:c1){
if(obj instanceof String){
String s = (String) obj;//自己手动的向下转型
System.out.println(s);
}
}
System.out.println("----------------------");
//2.使用泛型
Collection<String> c2 = new ArrayList<>();
c2.add("aaa");//String-->String
c2.add("bbb");
c2.add("ccc");
c2.add("123");//String
System.out.println(c2);
for(String s:c2){
System.out.println(s);
}
// Collection<int> c3 = new ArrayList<>();//报错,不能明目张胆写基本类型作为泛型
Collection<Integer> c3 = new ArrayList<>();
c3.add(100);//int-->Integer,自动装箱
c3.add(200);
// c3.add("123");//报错,不允许,,泛型Integer,就只能存储Integer的对象。。不能存储String等其他的类型了
for(int i:c3){//自动拆箱
System.out.println(i);
}
// Collection<Object> c4 = new ArrayList<String>();//必须前后一样
//课间练习:创建一个集合容器,声明泛型为Person,存储3个人的对象,然后使用for-each遍历输出。
}
}

![Java泛型
[编程语言教程]](https://www.zixueka.com/wp-content/uploads/2024/01/1706716173-2dd85b6b6e7c6f8.jpg)

