欢迎来到天天文库
浏览记录
ID:34392437
大小:48.00 KB
页数:8页
时间:2019-03-05
《jdk的主要特性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、.jdk5.0的11个主要新特性收藏1泛型(Generic)1.1说明增强了java的类型安全,可以在编译期间对容器内的对象进行类型检查,在运行期不必进行类型的转换。而在j2se5之前必须在运行期动态进行容器内对象的检查及转换减少含糊的容器,可以定义什么类型的数据放入容器ArrayListlistOfIntegers;//isnewtothesyntaxIntegerintegerObject;listOfIntegers=newArrayList();/
2、/isnewtothesyntaxlistOfIntegers.add(newInteger(10));//只能是Integer类型integerObject=listOfIntegers.get(0);//取出对象不需要转换1.2用法声明及实例化泛型类:HashMaphm=newHashMap();file://不能使用原始类型GenListnList=newGenList();file://编译错误J2SE5.0
3、目前不支持原始类型作为类型参数(typeparameter)定义泛型接口:publicinterfaceGenInterface{voidfunc(Tt);}定义泛型类:publicclassArrayList{...}publicclassGenMap{...}例1:publicclassMyListextendsLinkedList{publicvoidswap(inti,intj){Elementtemp=this.get(i);thi
4、s.set(i,this.get(j));this.set(j,temp);}publicstaticvoidmain(String[]args){MyListlist=newMyList();list.add("hi");list.add("andy");System.out.println(list.get(0)+""+list.get(1));list.swap(0,1);System.out.println(list.get(0)+""+list.get(1));}} 例
5、2:...publicclassGenList{privateT[]elements;privateintsize=0;privateintlength=0;publicGenList(intsize){elements=(T[])newObject[size];this.size=size;}publicTget(inti){if(i6、gth++]=e;}}泛型方法:publicclassTestGenerics{publicStringgetString(Tobj){file://实现了一个泛型方法returnobj.toString();}publicstaticvoidmain(String[]args){TestGenericst=newTestGenerics();Strings="Hello";Integeri=100;System.out.println(t.getString(s));System.out.println(7、t.getString(i));}}1.3受限泛型受限泛型是指类型参数的取值范围是受到限制的.extends关键字不仅仅可以用来声明类的继承关系,也可以用来声明类型参数(typeparameter)的受限关系.例如,我们只需要一个存放数字的列表,包括整数(Long,Integer,Short),实数(Double,Float),不能用来存放其他类型,例如字符串(String),也就是说,要把类型参数T的取值泛型限制在Number极其子类中.在这种情况下,我们就可以使用extends关键字把类型参数(typepar8、ameter)限制为数字示例publicclassLimited{publicstaticvoidmain(String[]args){Limitednumber;file://正确Limitedstr;file://编译错误}...}1.4泛型与异常类型参数在catch块中不允许出现,但是能用在方法的th
6、gth++]=e;}}泛型方法:publicclassTestGenerics{publicStringgetString(Tobj){file://实现了一个泛型方法returnobj.toString();}publicstaticvoidmain(String[]args){TestGenericst=newTestGenerics();Strings="Hello";Integeri=100;System.out.println(t.getString(s));System.out.println(
7、t.getString(i));}}1.3受限泛型受限泛型是指类型参数的取值范围是受到限制的.extends关键字不仅仅可以用来声明类的继承关系,也可以用来声明类型参数(typeparameter)的受限关系.例如,我们只需要一个存放数字的列表,包括整数(Long,Integer,Short),实数(Double,Float),不能用来存放其他类型,例如字符串(String),也就是说,要把类型参数T的取值泛型限制在Number极其子类中.在这种情况下,我们就可以使用extends关键字把类型参数(typepar
8、ameter)限制为数字示例publicclassLimited{publicstaticvoidmain(String[]args){Limitednumber;file://正确Limitedstr;file://编译错误}...}1.4泛型与异常类型参数在catch块中不允许出现,但是能用在方法的th
此文档下载收益归作者所有