当前位置: 代码迷 >> Java相关 >> [原创]JDK1.5爱之初体验
  详细解决方案

[原创]JDK1.5爱之初体验

热度:1315   发布时间:2004-10-10 12:56:00.0
[原创]JDK1.5爱之初体验

jdk1.5之初体验 ----------------

Sun公司的JDK1.5终于出了正式版了,对于我们Java fans来说真是一个好消息! 这回JDK的更新听说是1995年Java发布以来对Java语法方面作了最大的更新(以前大都是对Java类库的扩充),引入了许多激动人心的新特性。 呵呵,闲话少说,现在大家和jellen一起来看看JDK1.5里面到底有什么好东东。

1 - 泛性编程 哇,这可是以前C++的金字招牌啊,现在Java里面也可以使用了。我们先看看以前没有泛性时的Java:

ArrayList list = new ArrayList(); list.add(new String("Hello!")); System.out.println((String)list.get(0));

是不是有点罗嗦麻烦,要转来转去才能打印出那个:"hello!" 现在我们来看新的代码:

ArrayList<String> list = new ArrayList<String>(); list.add(new String("Hello!")); System.out.println(list.get(0));

恩,确实简洁多了,是不是?泛性特征把类型引进了集合,使得我们的代码更简洁易懂。

2 - 自动装箱/拆箱

这也是一个对我们程序员非常贴心的设计,想想以前我们要把int等基本数据装进ArrayList等集合时的麻烦吧:

ArrayList list = new ArrayList(); Integer number = new Integer(10); //先要把数字弄进包装类 list.add(number);

//然后想要取出这个数字也极其麻烦,看看这个式子,晕啊! int i = ((Integer)list.get(0)).intValue();

现在好了,同样的代码在JDK1.5中:

ArrayList<Integer> list = new ArrayList<Integer>(); list.add(10); int i = list.get(0);

真是非常方便啊!

3 - 增强的循环结构

呵呵,这可是一个非常厉害的东东啊,不能小视。以前的for(;;)循环我想大家都很熟悉,我也不再举例子了,咱们就看看现在这个新的循环吧:

int data[] = { 1, 2, 3, 4, 5 }; for(int j : data) System.out.println(j);

呵呵,比较厉害吧:)我们不用关注数组的大小,只要给出一个类型和数组的名字,系统就会自动给我们循环了。

4 - 枚举类型

这是一个C/C++程序员都比较熟悉的概念,但是以前Java里面没有,现在终于引入了,用法和C/C++中相似:

enum Color { BLACK, WHITE, GREEN };

Color c = Color.GREEN;

5 - 静态import

记得使用数学函数时我们写的代码吗?

double result = Math.sqrt(100);

那个前面的前缀Math是不是有点不爽,要是和C语言里面直接使用sqrt()就好了。OK,现在我们可以了--使用静态import:

import static java.lang.Math.*;

double result = sqrt(100);

这样的代码是不是让我们想起了那个美好的C时代:)说道这里,我有怀念起C语言里面那个亲切的printf()起来了,我们可以通过它控制输出的格式。现在Java里面也可以用了:

6 - 格式化输出

System.out.printf("This is a test: %4.2f\n", 123.123);

这就会打印出:This is a test: 123.12 好亲切的语法啊:)

7 - 从终端读取数据

刚开始接触Java的时候,我怎么也不能用Java在终端像C一样方便的读取数据。要从终端读取一个整数我以前是这么弄的:

try { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int i = Integer.parseInt(reader.readLine()); } catch(IOException e) { }

太长的式子了,比较郁闷的语法。 现在好了,Java里面引入了一个Scanner(),可以方便的从终端读取数据:

Scanner read = new Scanner(System.in); int i = read.nextInt();

这个语法看上去是不是明白多了?

8 - 不确定的参数个数

这个特性在C++里面也是常见的语法,JDK1.5里面现在也可以使用了:

void argtest(Object ... args) { for(int i = 0; i < args.length; i++) System.out.println(i); }

然后我们可以这样调用这个函数: argtest(1); argtest(1, 2, 4, 5, 6);

比较神奇吧?

OK, JDK1.5里面能够描述的新特性真是太多了,我已经深深地被它吸引了。 希望大家能通过这篇小文章了解一些JDK1.5的新特性,接下来干什么呢?快去下载新的JDK啊!呵呵,赶快去体验一下JDK1.5给我们带来的新感觉吧!

搜索更多相关的解决方案: 体验  

----------------解决方案--------------------------------------------------------
好!顶!不错啊,是不是把What's New翻译了一遍啊?呵呵
----------------解决方案--------------------------------------------------------
呵呵, 逃不出tempnetbar兄的法眼, 我确实照着JDK1.5 in a netshell写的~~
不过这些东西在很多论坛上都已经有了, 我只是发了一遍而已:)
----------------解决方案--------------------------------------------------------