Java1.5若干新特性

来源:互联网 发布:日本历史地震数据统计 编辑:程序博客网 时间:2024/06/07 09:01

 

1.静态导入
JAVA 5中,新增加了一个特性,静态导入 ( static import ) .
1.1.书写方式: import static Java.lang.*;
1.2.作用:当希望使用某类的静态成员时,就可以使用静态导入,
在具体引用时可以简化书写,但也一定程度上降低了可读性,所以
不建议使用一些简单的静态导入,如import static java.lang.System.out;
1.3.与一般导入的区别:一般import导入重点在导入一个类文件,而

import static重点要导入静态的方法;
1.4.备用:当类名重名的时候,需要制定具体的包名;
 当方法重名时,指定具备所属的对象或者类.


2.可变参数
新特性:可变参数(VariableParameter)
2.1.书写:public static int add(int x,int ... args){}
位置:可变参数放在引用参数的最后;
代码:三个点句号...
空格:前后可有可无;
类型:同一类型;
2.2.编译时作为数组形式访问
编译器对这些元素进行数组的封装,而这个封装动作,是在底层完成的;
封装为数组后直接传递给方法使用;

3.增强for循环

3.1.语法格式:
增强for循环括号里写两个参数,
 第一个:声明一个变量,
 第二个:集合变量,可以是数组或实现了Iterator接口的集合类;
for(type类型 变量名 : 集合/数组变量名 ) { }

3.2.高级for循环和传统for循环的区别:
3.2.1.示例

/*  for(int i=0;i<args.length;i++){sum+=args[i];}*/for(int arg:args){sum+= arg;}return sum;



3.2.此处集合类实现Iterator有什么意义?
高级for循环在使用时,必须要明确被遍历的目标.这个目标,可以是Collection集合或者数组,如果遍历Collection集合,
在遍历过程中还需要对元素进行操作,比如删除,这时就要需要使用迭代器.

3.3.如果此处数组在遍历中要操作元素呢?
如果遍历数组,还需要对数组元素进行操作,建议还是用传统for循环;
因为可以定义角标通过角标操作元素;
如果只为遍历获取,可以简化成高级for循环,它的出现为了简化书写.

3.4.高级for和集合示例:

//3.4.1.集合 Collection: List list = new ArrayList();list.add("aaa"); for(Object obj : list) {  String s = (String) obj;   System.out.println(s); } //3.4.2双列集合 Map: Map map = new HashMap(); map.put("a", "aaa"); Interator iter=map.entrySet().iterator();while(iter.hasNext()) { //遍历键值对Map.Entry entry = (Entry) iter.next();//获取K,VString key = (String) entry.getKey();String value = (String) entry.getValue();System.out.println(key + "=" + value); } 

3.5注意:操作元素
 集合迭代注意问题:在迭代集合的过程中,不能对集合进行增删操作(会报并发访问异常;
   可以用子类listIterator: 有增删的方法.
   增强for循环注意问题: 在使用增强for循环时,不能对元素进行赋值;
  

0 0
原创粉丝点击