“JDK1.5”的一个重要主题就是通过新增一些特性来简化开发,这些特性包括泛型,for-each 循环,自动装包/拆包,枚举,可变参数, 静态导入。使用这些特性有助于我们编写更加清晰,精悍,安全的代码。写了几个简单的例子来帮助理解这些新特性:
(1)-----------------------------------------------
import java.util.ArrayList;
import java.util.Collection;
/**
* 自动装包/拆包(Autoboxing/unboxing)
* @author yulj
*
*/
public class BoxingTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int a = 3;
Collection c = new ArrayList();
c.add(a);//自动转换成Integer.
Integer b = new Integer(2);
c.add(b + 2);
//这里Integer先自动转换为int进行加法运算,然后int再次转换为Integer.
}
}
(2)-----------------------------------------------
/**
* 枚举(Enums)
* @author yulj
*
*/
public class EnumTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Color c=Color.Red;
System.out.println(c.ordinal());
System.out.println(c.name());
System.out.println(c.getDeclaringClass().getName());
for (Color c1 : Color.values())
System.out.println(c1);
}
}
enum Color
{
Red,
White,
Blue
}
(3)-----------------------------------------------
import java.util.ArrayList;
import java.util.Collection;
/**
* For-Each循环
* @author yulj
*
*/
public class ForEachTest {
/**
* @param args
*/
public static void main(String[] args) {
Collection<String> c = new ArrayList<String>();
c.add("aa");
c.add("bb");
c.add("cc");
for(String str:c)
System.out.println(str.toString());
}
}
(4)-----------------------------------------------
import java.util.ArrayList;
import java.util.Collection;
/**
* 泛型
* @author yulj
*
*/
public class GenericTest {
public static void main(String args[]) {
Collection<String> c = new ArrayList<String>();
c.add("aa");
}
}
(5)-----------------------------------------------
/**
* 可变参数(Varargs)
* @author yulj
*
*/
public class VarargsTest {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
VarargsTest vt = new VarargsTest();
String a1="a1";
int a2=1;
vt.write(a1,a2);
}
public void write(Object... objs) {
for (Object obj: objs)
System.out.println(obj);
}
}