资源描述:
《技术日志1——jdk5.0新特性》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、黑马程序员-JDK5.0新特性android培训.iava培训、期待与您交流!JDK5.0中新增了很多新的java特性沐」用这些新语法可以帮助开发人员编写出更加高效、清晰,安全的代码。—、静态导入•静态导入用于简化程序对类静态属性和方法的调用。•语法:importstatic包名.类名.静态属性
2、静态方法广;例如:importstaticjava.lang.System.out;importstaticjava.util.Arrays.*;publicclassDemol{publicstaticvoidmain(Stringargs[]){out.print("h
3、ehe");intarr[]={1,2,3,4,5}binarySearch(arr;3);二、自动装箱/拆箱装箱:指开发人员可以把一个基本数据类型直接赋给对应的包装类型。拆箱:指开发人员可以把一个包装类对象直接赋给对应的基本数据类型。例:publicclassDemo2{publicstaticvoidmain(Stringargs[]){〃装箱Integeri=12;〃相当于Integeri二newInteger(12);〃拆箱intj=i;}}三、增强for循环增强for循环可以用在数组或实现Iterable接口的集合类上,使用它会使用你的代码短小而精练得多。
4、语法格式:for(变量类型变量:需迭代的数据或集合){}例:importorg.junit.Test;importjava.util.Map;importjava.util.List;publicclassDemo3{@Testpublicvoidtestl(){intarr[]={l,23A5};for(inti:arr){System.out.println(i);}}@Testpublicvoidtest2(){Listlist二newArrayList();list.add(l);list.add(2);list.add(3);list.add(4);for
5、(Objectobj:list){inti=(Integer)obj;System.out.println(i);}@Testpublicvoidtest3(){Mapmap二newHashMapO;map.put("V,“aa");map.put("2","bb");map.put("3","cc");〃方法1for(Objectobj:map.keySet){Stringkey=(String)obj;Stringvalue=(String)map.get(key);System.out.println(key+"二"+value);}〃方法2for(Map.E
6、ntryentry:map.entrySet){Stringkey=entry.getKey();System.out.println(key+"二"+value);}}使用增强for时需要注意的问题:a,增强for只适合取数据。b,如果需要修改数组或集合中的数据,要用传统for.四、可变参数可变参数就是为方法定义长度可变参数。语法:publicvoiddemo(int…nums){}例:importorg.junit.Test;publicclassDemo4{@TestpublicvoidtestSum(){sum(l,2,3,4,5,6);}publicvoi
7、dsum(int...nums){//相当于数组intsum=0;for(inti:nums){sum+=i;System.out.println(sum);〃可变参数需要注意的问题:publicvoidtest(int...numsjntx){}这样写不行publicvoidtest(intx,int...nums){})五、枚举一些程序在运行时,它需要的数据不能是任意的,而必须是一定范围内的值Jdk5以前采用自定义类来解决Jdk5以后可以直接采用枚举解决。枚举也可以有构造函数、字段和方法。例1:publicclassDemo5{@Testpublicvoidte
8、st(){println(Grade.B);}publicvoidprint(Gradeg){//R接受Grade类型的A、B、C、D、ESystem.out.println(value);}//jdk5以前的解决方法/*classGrade{privateGrade(){}publicstaticfinalGradeA=newGrade();publicstaticfinalGradeB二newGrade();publicstaticfinalGradeC二newGrade();publicstaticfinalGradeD二newGrade();public