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循环时,不能对元素进行赋值;
- Java1.5若干新特性
- Java1.5新特性
- Java1.5新特性
- Java1.5新特性
- Java1.5新特性
- java1.5新特性
- java1.5新特性
- java1.5新特性
- java1.5新特性
- java1.5 新特性
- JAVA1.5 新特性
- java1.5新特性
- java1.5新特性
- java1.5新特性
- JAVA1.5新特性
- JAVA1.5新特性
- JAVA1.5新特性
- Java1.5新特性
- 执行sudo apt-get install 时出现E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
- hadoop在ubuntu 12.04系统上的安装
- C++ 基本类型(Primitive Type) 的(const reference type) 参数有何用处?
- linux设备驱动——输入子系统
- hdu 4902 Nice boat(树形结构-线段树)
- Java1.5若干新特性
- codeforces round 261
- spoj7258 Lexicographical Substring Search(SUBLEX),后缀自动机
- 关于SQL server的Update用法
- POJ 1185 炮兵阵地 (状态压缩DP)
- 指针函数与函数指针的区别
- 系统的移植小感
- Qt-时间
- KMP算法求next数组