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遍历输出。
	}

}
hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » Java泛型