- 1
- 0
- 约2.65千字
- 约 20页
- 2017-07-02 发布于湖北
- 举报
Java.SE 7-1
jdk5.0中出现的新特性
– 掌握jdk5.0中出现的新特性
• 泛型(Generics)
• 增强的“for”循环(Enhanced For loop)
• 自动装箱/自动拆箱(Autoboxing/unboxing)
• 静态导入(Static import)
• 可变参数(Var args)
• 类型安全的枚举(Type safe enums)
For-Each循环
For-Each循环的加入简化了集合的遍历
其語法如下
– for(type element : array) {
System.out.println(element)....
}
自动装箱/拆箱
自动装箱/拆箱大大方便了基本类型数据和它们包装类的使用。
自动装箱:基本类型自动转为包装类.(int Integer)
自动拆箱:包装类自动转为基本类型.(Integer int)
静态导入
要使用静态成员(方法和变量)我们必须给出提供这个静态成员的类。
使用静态导入可以使被导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名
不过,过度使用这个特性也会一定程度上降低代码的可读性
a) import static com.polycom.test.Common.Age;
b) import static com.polycom.test.Common.output;
表示导入Common类中的静态成员变量AGE以及静态方法output。 注意: 使用import static 时,要一直导入到类中的静态成员变量或静态方法
可变参数
可变参数使程序员可以声明一个接受可变数目参数的方法。
可变参数必须要作为方法参数的最后一个参数,即一个方法不可能具有两个或两个以上的可变参数
可变参数本质上就是一个数组,对于某个声明了可变参数的方法来说,我们既可以传递离散的值,也可以传递数组对象。
但如果将方法中的参数定义为数组,那么只能传递数组对象而不能传递离散的值。
枚举
随着计算机的不断普及,程序不仅只用于数值计算,还更广泛地用于处理非数值的数据。
例如,性别、月份、星期几、颜色、单位名、学历、职业等,都不是数值数据。
在程序设计语言中,一般用一个数值来代表某一状态,这种处理方法不直观,易读性差。
如果能在程序中用自然语言中有相应含义的单词来代表某一状态,则程序就很容易阅读和理解。
要实现这种功能就要用到枚举。
枚举简介
事先考虑到某一变量可能的取值,尽可能用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法。用这种方法定义的类型称为枚举类型。在生活中有很多关于枚举的例子。
枚举的使用
枚举在Java语言中的作用很大。它可以对类似的相同类型的对象同时进行声明,在程序中调用这些元素时,不会出现混淆和重复。由于枚举的统一性,使得开发人员编写的代码量大大减少了,同时增加了程序的阅读性和修改性。下面我们就来学习如何定义和使用枚举。
枚举
JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enum. 我们可以这样来定义一个枚举类型
public enum Color {
Red,
White,
Blue
}
然后可以这样来使用Color myColor = Color.Red.
常见的枚举定义方法
例如我们可以举一个例子,比如设枚举名为weekday,枚举值有7个,即一周的7天。则凡被说明为weekday类型的变量取值,只能是这7天中的某一天。枚举变量有三种说明方式,我们可以采取任意一种方式进行说明,如图所示。
枚举类型还提供了两个有用的静态方法values()和valueOf().
我们可以很方便地使用它们,例如
for (Color c : Color.values())
System.out.println(c);
枚举可以作为switch的条件:EnumTest.java
定义枚举类型时本质上就是在定义一個类别,只不过很多细节由编译器帮您完成了,所以某些程度上,enum关键字的作用就像是class或interface。
当您使用“enum”定义 枚举类型时,实质上您定义出來的类型继承自 java.lang.Enum 类型,而每个枚举的成员其实就是您定义的枚举类型的一個实例(Instance),
他们都被预设为 final,所以您无法改变他们,
他们也是 static 成員,所以您可以通过类型名称直接使用他们,当然最重要的,它們都是公开的(public)。
枚举的比较
– 参见程序 ShowEnum.java
枚举的顺序
– 参见
原创力文档

文档评论(0)