---------------------- 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开发期待与您交流! ----------------------