1、JDK1.5增加了新特性:可变参数。适用于参数个数不确定,类型确定的情况,Java把可变参数当做数组处理。注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。代码如下:
public class Test {
private static int count=0;
public static void main(String[] args) {
get("1",new Object[]{"1","2","3"});
}
public static void get(String s,Object... vaule){
for (Object p:vaule){
System.out.println(p);
}
}
}
2、foreach语句是java5的新特征之一,在遍历数组、集合方面,foreach为开发人员提供了极大的方便。
package test.java;
import java.util.ArrayList;
import java.util.List;
public class TestForeach {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("北京");
list.add("上海");
list.add("天津");
for(String str : list){
System.out.println(str);
}
}
}
上海
天津
JDK1.5新特性中的泛型技术可以解决数据类型的安全性问题,其主要原理是在类声明时通过一个标识表示类中某个属性的类型或者是某个方法的返回值及参数类型。这样在类声明或实例化时只要指定好具体的类型即可。代码如下
class Point<T>
{
private T var;
public T getvar(){
return var;
}
public void setVar(T var){
this.var = var;
}
}
public class TestPoint{
public static void main(String args[]){
Point<Integer> p1= new Point<Integer>;
Point<String> p2 = new Point<String>;
p1.setVar(30);
p2.setVar("Hello");
System.out.println(p1.getVar());
System.out.println(p2.getVar());
}
}
输出结果为:
30
Hello
可以看出使用泛型技术的类在实例化是自己指定属性的类型,这样使程序操作起来更安全,可以避免发生转换异常。