JDK5 与 JDK6 不同点

1. 泛型
2. 自动装箱/拆箱
3. for-each
4. static import
5. 可变参数
6. 枚举

1. 泛型

1.4之前 java util包中容器类,装的是Object对象,你要装特定的类型可以,但要强制转换,这可能导致运行时错误.


  例:原来ArrayList list=new ArrayList();
  list.add(new Integer(3));
  list.add(new Integer(4));
  int i=((Integer)(list.get(0))).parseInt();
  很麻烦
  现在ArrayList <Integer> list=new ArrayList <Integer> ();
  list.add(new Integer(3));
  list.add(new Integer(4));
  int i=list.get(0).parseInt();
  不用Cast,运行时错误变为编译时错误,这是进步.
   


2 .自动装箱/拆箱


  还是刚才例子
  最后一句可改为
  int i=list.get(0);
  原始类型与对应的包装类不用显式转换,方便


3. for-each


  循环的增强
  int a[]={……..};//初始化,略
  for(int i:a)
  {
    ……
  }
  不用以前的i=0;i <a.length;i++


4. static import
  以前调Java.math
  Math.sqrt();
  现在 static import java.lang.Math.sqrt;
  再 sqrt();
  相当于你自己类里有这个方法


可变参数

  可变参数使程序员可以声明一个接受可变数目参数的方法。注意,可变参数必须是函数声明中的最后一个参数。
  

  int sum(int …intlist)
  {
    int i,sum;
    sum=0;
    for(int i=0;i <intlist.length;i++)
    {
      sum+=list[i];
    }
  return sum;

}
有任意个参数,把他看作数组

6.枚举

 

JDK1.5加入了一个全新类型的“类”-枚举类型。为此JDK1.5引入了一个新关键字enmu. 我们可以这样来定义一个枚举类型。
 
public enum Color
{
   Red,
   White,
   Blue
}

  然后可以这样来使用Color myColor = Color.Red.

  枚举类型还提供了两个有用的静态方法values()和valueOf().

posted @ 2013-05-27 17:22  nextnj  阅读(126)  评论(0)    收藏  举报