泛型是一种规定了集合中传入类型的编程特性,可以显著减少代码量,偷懒用的,emm
package demo;
import java.util.ArrayList;
import java.util.List;
public class testGranber {
/*
* 新建一个名为course的list容器,规定只能存放course元素的集合
*/
public List <course> courses;//关于course类,在之前文章中有写,具体为课程类。
//编写构造方法,方法内容为,所有course对象都会被实例化进list。
public testGranber() {
this.courses=new ArrayList<course>();
}
/*
* 添加元素的方法
*/
public void testAdd() {
course ca1=new course("1", "大学语文");//新建course类
courses.add(ca1);//将ca1加入courses
//尝试加入其他奇怪的东西
//courses.add("加入奇怪的东西");
//编译器报错,无法通过编译
course ca2=new course("2", "java基础");
courses.add(ca2);
}
/*
* 测试循环历遍
*/
public void testForEach() {
for(course cr:courses) {//经过泛型规定,不需要再转换类型
System.out.println("课程:"+cr.id+"."+cr.name);
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
testGranber tg=new testGranber();
tg.testAdd();
tg.testForEach();
}
}
运行结果:
课程:1.大学语文
课程:2.java基础
其实java的泛型编程底层原理并没有改变,性能并没有提升,只是编译器自动加入了强制类型转换语句。