摘要:JDK5.0以后加入了泛型的概念。我们可以看一下简单的例子: publicclassGenericExample{ publicvoidtestOrign(){ ListstrList=newArrayList(); strList.add("test1");
JDK5.0以后加入了泛型的概念。我们可以看一下简单的例子:
publicclassGenericExample{
publicvoidtestOrign(){
ListstrList=newArrayList();
strList.add("test1");
Stringtest1=(String)strList.get(0);
System.out.println("Test1:"+test1);
}
publicvoidtestGeneric(){
ListstrList=newArrayList();
strList.add("test1");
Stringtest1=strList.get(0);
System.out.println("Test1:"+test1);
}
}
testOring方法是不加入泛型时的编码方法。
testGeneric是加入泛型后的编码方法。首先我们定义了一个List,制定List的类型为String,就是说List里边存储的类型为String类型,这样我们再存储的时候,List。add()方法加入的参数一定要是一String类型的变量,要不编译就会出现错务,当我们从List里取值的时候,业不需要进行类型转换,可以直接得到String类型的值。
那么我们为什么要泛型呢?有两个好处:
1.可以再编译是检查存储的数据是否正确。我们开发有一个趋向就是尽早的发现错误,对java来说,最好就是再编译阶段,泛型正好符合这一条件,如再testGeneric中,strList.add()如果加入一个非String类型的类或者其子类的话,那么编译就会出现错误。
2.减少了强制转换,Stringtest1=(String)strList.get(0);这样的操作属于一种向下转型,是比较危险的操作,当List内存储的对象不适String时就会发生错误。
所以如果再java中加入泛型是很好的一种喜欢。
相关推荐:
软考备考资料免费领取
去领取