JDK1.5泛型之外的其它新特性,泛型相关看这里
For-Each循环
For-Each循环得加入简化了集合的遍历。假设我们要遍历一个集合对其中的元素进行一些处理。典型的代码为:
1
class
Bean
{
2
public
void
run()
{
3
//
.
4
}
5
}
6
1
ArrayList list
=
new
ArrayList();
2
list.add(
new
Bean());
3
list.add(
new
Bean());
4
list.add(
new
Bean());
5
6
for
(Iterator ie
=
list.iterator(); list.hasNext();)
{
7
Bean bean
=
(Bean)ie.next();
8
bean.run();
9
10
}
11
12
使用For-Each循环,配合泛型,我们可以把代码改写成,
1
ArrayList
<
Bean
>
list
=
new
ArrayList
<
Bean
>
();
2
list.add(
new
Bean());
3
list.add(
new
Bean());
4
list.add(
new
Bean());
5
6
for
(Bean bean : list )
{
7
bean.run();
8
}
9
10
这段代码要比上面清晰些,少写些,并且避免了强制类型转换。
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);
以前的实现方式:
1
prtMax()
{
2
System.out.println(
"
no parameter
"
);
3
}
4
prtMax(
int
a)
{
5
System.out.println(a);
6
}
7
prtMax(
int
a,
int
b)
{
8
if
(a
>
b)
{
9
System.out.println(a);
10
}
else
{
11
System.out.println(b);
12
}
13
}
14
15
我们发先写多少个都不够,子子孙孙无穷尽也
改造一下,在上边的基础上,再加上
prtMax(int a,int b,int[] c){
//....比较最大的输出
这样能实现了,但是要求使用的人必须要在输入前把数字做成int[]
}
看看现在使用新特性怎么实现:
1
prtMax(
int
nums)
{
2
if
(nums.length
==
0
)
{
3
System.out.println(
"
no parameter
"
);
4
}
else
{
5
int
maxNum
=
0
;
6
for
(
int
num :nums)
{
7
if
(num
>
maxNum)
{
8
maxNum
=
num;
9
}
10
}
11
System.out.println(maxNum);
12
}
13
}
14
好了,无论多少个参数都可以了
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);
分享到:
相关推荐
自 JDK 1.5 起,Java 引入了一系列语言级别的改进,其中最为显著的就是泛型(Generics)的支持。泛型使得开发人员能够更加灵活且类型安全地编写代码。在 C++ 中有类似的特性,称为模板(Templates),对于熟悉这一...
JDK1.5,也被称为Java SE 5.0,是Java历史上的一个重要版本,它引入了许多新特性,对Java语言进行了重大更新。 在JDK1.5中,最重要的更新之一是引入了泛型(Generics)。泛型允许在类、接口和方法中定义类型参数,...
除此之外,JDK1.5还引入了自动装箱拆箱、枚举(enum)类型、变量赋值的增强(如for-each循环)、静态导入等新特性,极大地提升了开发效率和代码质量。通过《Java JDK1.5实例宝典》,读者可以深入理解这些特性,并在...
JDK1.5 API则具体指Java 1.5版本提供的API集合,这个版本引入了许多重要的新特性,例如泛型(Generics)、枚举(Enums)、自动装箱与拆箱(Autoboxing and Unboxing)以及可变参数(Varargs)等。 1. **泛型**:...
Java 1.5,也称为Java 5.0,引入了一系列重要的新特性,极大地改进了编程体验和代码的可读性。以下是对这些特性的详细解释: 1. 泛型(Generic): 泛型是Java 1.5的一大亮点,它允许在类、接口和方法中使用类型...
自 JDK 1.5 开始,Java 语言正式引入了一项重要的特性——泛型(Generics),这使得 Java 成为了一个更为强大且灵活的语言。泛型允许开发人员编写出类型安全的通用类或方法,从而提高了代码的复用性和可维护性。本文...
在开发工具方面,Java Development Kit (JDK) 1.5提供了改进的调试工具,如VisualVM,使得开发者能够更有效地分析和调优应用程序。 安装JRE1.5时,用户需要注意的是,提供的"jre-1_5_0-windows-i586.exe"文件是...
在JDK1.5版本中,引入了枚举类型(enum)、泛型(generics)和自动装箱/拆箱等新特性,使得代码更安全、更高效。 1. **枚举类型**:枚举是Java 1.5引入的新特性,用于定义一组固定的常量。它不仅提高了代码的可读性...
泛型是Java SE 1.5的新特性,好处是在...注解(Annotation)是JDK1.5及以后引入的新特性,与类、接口、枚举是在同一个层次。可声明在包、类、字段、方法、局部变量、方法参数等前面,用来对这些元素进行说明,注释。
随着Java的发展,JDK 1.5(即Java 5.0)引入了一系列新特性,其中之一便是泛型(Generics)。泛型的引入极大地提高了Java语言的灵活性和类型安全性。本文将详细介绍Java泛型的基本概念、使用方法以及其带来的好处。 ...
自JDK 1.5以来,Java编程语言引入了一系列重要的扩展功能,其中最重要的一个特性就是泛型(Generics)。本文档旨在向读者介绍Java中的泛型,并通过与类似语言如C++中的模板进行对比,帮助读者理解其相似性和差异性。...
- **2004年**:JDK 1.5(也称为J2SE 5或Java 5)带来了泛型、枚举、可变参数等重要改进。 ##### 当代JVM - **2011年**:JDK 7正式发布,包含了G1垃圾收集器、动态语言支持以及64位系统下的压缩指针等新技术。 - **...
Java语言的考试环境变化不大,依然使用JDK1.5,但是禁止使用JDK 6.0以上的特性。参赛者需要使用JCreator2.0或Eclipse helios release 2(不包含Java EE特性)作为开发环境,并确保IDE连接的JDK符合要求,且开启了...
- **2004年**:JDK 1.5发布,带来了泛型、注解等新特性。 - **2011年**:JDK 7发布,增加了对模块化等新特性的支持。 - **2014年**:JDK 8发布,Lambda表达式的引入极大地简化了函数式编程。 - **2016年**:JDK 9...
2. `json-lib-2.4-jdk15.jar`:这是一个基于Net.sf.json的库,适用于多种Java环境,包括JDK1.5。它提供了与json.jar和org.json.jar类似的功能,同时也支持其他数据源,如DOM、SAX和Hibernate。 3. `json-path-0.8.1...
具体而言,ArrayList采用了默认增长比例为1.5倍的方式进行调整,并通过System.arraycopy()方法完成了新旧数组之间元素的复制工作。 #### 4.2 HashMap碰撞处理策略 由于哈希冲突无法完全避免,因此在设计HashMap时...
1.5 小结 11 第2章 基本数据类型——构建Java 大厦的基础 12 2.1 源代码注释 12 2.1.1 单行注释 12 2.1.2 区域注释 12 2.1.3 文档注释 13 2.2 基本数据类型 14 2.2.1 整型 15 2.2.2 浮点型 17 ...