1、
泛型存在的意义:
public class Test3 {
public static void main(String []args){
List list=new ArrayList();
list.add(“abc”);
list.add(“def”);
list.add(111);
for(int i=0;i<list.size();i++)
{
String name=(String) list.get(i);
System.out.println("name:"+name);
}
以上程序会报java.lang.ClassCastException的错。
因为add第三个对象是Integer类型的,而后来定义的name是String类型的。这个时候使用泛型可以避免此类错误,代码如下:
public class Test3 {
public static void main(String []args){
List **<String>**list=new ArrayList**<String>**();
list.add("abc");
list.add("def");
//list.add(111);
for(int i=0;i<list.size();i++)
{
String name=(String) list.get(i);
System.out.println("name:"+name);
}
2、 泛型擦除
当把一个泛型赋给一个非泛型变量时,所有尖括号内的信息都将丢弃。
3、java不允许创建泛型数组。