---------------------- Android、Java开发期待与您交流! ----------------------
JDK 1.5新特性(一)
1.静态导入
对静态方法的导入,不用再使用类名调用静态方法
2.增强for循环
for循环的简写形式,需要三个参数;适用遍历容器的所有元素
3.自动装箱、拆箱
把基本类型的数据转换为相应的对象类型,对列表进行操作时非常有用,但是占用内存
注意:当两个大于127或小于-128的同一个整数装箱后比较结果为false
4.方法可变参数列表
适用于当方法参数类型确定,但参数个数过多或不确定个数时
注意:可变参数必须位于方法内最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。
import java.util.ArrayList;
import java.util.Collection;
import static java.lang.Math.*;
import static java.lang.System.*;
public class NewFeatures {
public static void main(String[] args) {
staticImport();
boxingComp();
String[] st = {"year","happness","newYork","HongKong","zhangXzioa"};
forEnhance(st);
variableParamList("year","happness","NewYork","HongKong","zhangxxyy");
}
/**
* 静态导入
*/
public static void staticImport() {
int[] intArr = new int[5];
out.println(intArr.length);
Collection<Integer> collection = new ArrayList<Integer>();
for (int i = 0; i < intArr.length; i++) {
intArr[i] = (int) (random() * 10);
collection.add(intArr[i]);
}
out.println(collection.toString());
}
/**
* 自动装箱
*/
public static void boxingComp() {
int int0 =127;
Integer int1 = 127;
Integer int2 = 127;
Integer int3 = new Integer(127);
Integer int4 = new Integer(127);
Integer int5 = 128;
Integer int6 = 128;
out.println(int0 == int1);
out.println(int1 == int2);
out.println(int2 == int3);
out.println(int3 == int4);
out.println(int5 == int6);
out.println(int0 == Integer.valueOf(127));
out.println(int0== Integer.valueOf("127"));
}
/**
* 增强for循环
* @param st
*/
public static void forEnhance(String[] st){
for(String s:st){
out.print(s+"\t");
}
}
/**
* 方法列表可变参数
* @param str
* @param args
*/
public static void variableParamList(String str,String...args){
String [] st =args;
out.println();
for(String s:st){
if(s.length()>=5){
out.print(s.substring(5).toUpperCase()+"\t");
}else{
out.print(s+"\t");
}
}
}
}
----------------------
Android、Java开发期待与您交流! ----------------------