JDK1.5泛型之外的其它新特性,泛型相关看这里
For-Each循环
For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:
class Bean {
public void run() {
// .
}
}
ArrayList list = new ArrayList();
list.add( new Bean());
list.add( new Bean());
list.add( new Bean());
for (Iterator ie = list.iterator(); list.hasNext();) {
Bean bean = (Bean)ie.next();
bean.run();
}
使用For-Each循环,配合泛型,我们可以把代码改写成,
ArrayList < Bean > list = new ArrayList < Bean > ();
list.add( new Bean());
list.add( new Bean());
list.add( new Bean());
for (Bean bean : list ) {
bean.run();
}
这段代码要比上面清晰些,少写些,并且避免了强制类型转换。
2.枚举(Enums)
JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu.
我们可以这样来定义一个枚举类型。
public enum Color{
Red,
White,
Blue
}
然后可以这样来使用Color myColor = Color.Red.
枚举类型还提供了两个有用的静态方法values()和valueOf(). 我们可以很方便地使用它们,例如
for(Color c : Color.values())
System.out.println(c);
6.静态导入(Static Imports)
要使用用静态成员(方法和变量)我们必须给出提供这个方法的类。使用静态导入可以使被导入类的所有静
态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名。
import static java.lang.Math.*;
r = round(); //无需再写r = Math.round();
不过,过度使用这个特性也会一定程度上降低代码地可读性
5.可变参数(Varargs)
可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。
假设我们要写一个简单的方法打印一些对象
例如:我们要实现一个函数,把所有参数中最大的打印出来,如果没有参数就打印一句话。
需求:
prtMax();
prtMax(1);
prtMax(1,2);
prtMax(1,2,3);
......
prtMax(1,2,3...n);
以前的实现方式:
prtMax() {
System.out.println( " no parameter " );
}
prtMax( int a) {
System.out.println(a);
}
prtMax( int a, int b) {
if (a > b) {
System.out.println(a);
} else {
System.out.println(b);
}
}
我们发先写多少个都不够,子子孙孙无穷尽也
改造一下,在上边的基础上,再加上
prtMax(int a,int b,int[] c){
//....比较最大的输出
这样能实现了,但是要求使用的人必须要在输入前把数字做成int[]
}
看看现在使用新特性怎么实现:
prtMax( int nums) {
if (nums.length == 0 ) {
System.out.println( " no parameter " );
} else {
int maxNum = 0 ;
for ( int num :nums) {
if (num > maxNum) {
maxNum = num;
}
}
System.out.println(maxNum);
}
}
好了,无论多少个参数都可以了
prtMax();
prtMax(1);
prtMax(1,2);
prtMax(1,2,3,4,5,6,7,8, ....,n);
另外JDK1.5中可以像c中这样用了
String str="dd";
int k =2;
System.out.printf("str=%s k=%d",str,k);
分享到:
相关推荐
JDK1.5泛型讲解 不错的东西 对jdk需要研究的朋友不妨看看 新手也来学习学习```
JDK1.5泛型 里面有很多的例子供大家学习
JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究JDK1.5新特性泛型_深入研究
泛型的使用文档,教你在JDK1.5中如何使用泛型
“JDK1.5”(开发代号猛虎)的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-else 循环,自动装包/拆包,枚举,可变参数, 静态导入
JDK1.5的泛型实现.pdf
jdk1.5 tiger java5 新特性
JDK1.5的五大新特性JDK1.5的五大新特性JDK1.5的五大新特性
JDK1.5的泛型实现
转载 jdk1.5的一些新特性,希望能帮助大家!
jdk1.5的新特性泛型的实例代码,很好的学习资料
很重要jdk 1.5 newfeatures jdk新特性 面试必备 我们必须记住。开发必备。学习jdk必备
java经典教程-JDK1.5的泛型实现
今天,JDK1.5終於內建泛型特性,不僅編譯器不再需要 任何外力(外掛附件)的幫助,整個 Java標準程式庫也被翻新(retrofit),許多 角落針對泛型做了改寫。 讓我們把帶有「參數化型別」(parameterized types)的 ...
JDK1.5新特性
JDK1.5JDK1.6各自的新特性
JDK1.5的泛型实现
包含 jdk1.5免安装、jdk1.6免安装、jdk1.8(32和64)