`
newjueqi
  • 浏览: 12060 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

jdk5.0新特性(1)

    博客分类:
  • java
阅读更多

【文章标题】JDK5.0新特性(1

【文章作者】曾健生

【作者邮箱】zengjiansheng1@126.com

【作者QQ190678908

【作者博客】http://blog.csdn.net/newjueqi

                     http://newjueqi.iteye.com/

【作者声明】欢迎转载文章,但转载请保留文章的完整性以及注明文章的出处。

 

*******************************************************************************

JDK5.0后,Sunjava新增一些特性来简化开发,本文主要介绍以下的几个特性:

l         静态导入

l         自动装包/拆包

l         for-each循环

l         可变参数

 

1)静态导入

说真的,本人认为如果用这个新特性写的代码可读性非常差(不知道方法或属性从哪冒出来的),所以也就简单说一下(而且这一特性也很简单)。

静态导入使用import static 语句导入一个类的全部静态方法和静态属性。

假如想使用java.lang.Math类中的静态属性PI,可用以下语句:

package newjueqi.net.csdn.test;

import static java.lang.Math.*;

 

public class TestStatic {

public static void main(String[] args) {

       //使用Math类中的PI值

        System.out.println( PI );

      

    }

}

/****

输出:3.141592653589793

******/

 

2)自动装包/拆包

 

我们知道,在Java的核心是“一切皆对象”,就连 Java中的八种基本数据类型也不例外,分别对应了八种类,所以这八种基本数据和它们对应的类天生就有着不可分割的联系,但在JDK1.4中,要把一种基本数据类型变成相对应的要通过很传统的方法如下:

Integer i=new Integer( 4 );

 

但有了自动装包/拆包后,就能执行以下的语句:

 

        Integer inte=4;

       int i=inte;

    是不是省事多了,能把整数类型直接装包成一个整数类,也可以把一个整数类拆包为一个整数类型。

 

3for-each循环

for-each循环在遍历数组和集合时,不需要知道数组或集合的长度,也无须知道索引,for-each能自动遍历数组或集合中的每个元素。

标准的格式如下:

For(Type varnameArray|Collection )

{

Varname//获取每个数组或集合中每个元素的值

}

 

例子程序如下:

package newjueqi.net.csdn.test;

 

/**

  *测试foreach循环

 */

public class TestForEach {

    public static void main(String[] args) {

       int arr[]={1,2,3,4,5};

       //通过foreach循环遍历获取数组arr的值

        for( int iterator: arr)

       {

           System.out.println( iterator );

       }

    }

}

/**********************

输出:

1

2

3

4

5

******************/

 

(4)可变参数

    JDK5.0java终于可以定义形式参数长度可变的参数。

格式为:

method typename…args

 

使用可变参数需要注意两点:

1.       如果函数中传入的参数中有可变参数和固定参数,可变参数必须要处于行参列表的最后。

2.       调用一个包含可变参数的方法时,传入的可以是多个参数或一个数组。

 

一个例子程序如下:

package newjueqi.net.csdn.test;

/**

 *测试可变参数的程序

 */

public class TestChangeVar {

    public static void main(String[] args) {

      

        showString( "a", "b","c","d","e");

    }

   

    //把传入的所有字符输出

    public static void showString( String...args )

    {

        for( String str:args )

       {

           System.out.print( str+" " );

       }

   

    }

 

}

 

/***

输出结果:a b c d e

***/

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics