泛型:
字面意思是广泛的类型。实际是在类定义的时候不明确类型,而是在创建对象或调用方法的时候再明确类型的一种手法。也叫参数化类型,就是把类型当作参数一样来传递。
格式:
<数据类型> (此处的数据类型只能是引用类型)
好处:
把运行时期的问题提前到编译时期,可以及早发现问题。
避免了类型强转。
基本使用:
package FanXing;
import java.util.ArrayList;
import java.util.Iterator;
public class FanXingDemo {
/**
* @param args
*/
public static void main(String[] args) {
ArrayList<String> ls = new ArrayList<String>();//jdk7 新增泛型推断(后面不写类型也可以) ArrayList<String> ls = new ArrayList<>();
ls.add("hello");
ls.add("world");
ls.add("hello");
ls.add("java");
Iterator<String> it = ls.iterator();
while(it.hasNext()){
// 由于有类型声明 此处都不用强转了
String s = it.next();
System.out.println(s);
/*输出
hello
world
hello
java */
}
}
}