自动装,折箱
/**
* JDK1.5 自动装箱,折箱
*
* @author 张明学
*
*/
public class AutoBox {
public static void main(String[] args) {
// 装箱
Integer ig = 2;
// 折箱
System.out.println(ig + 8);
Integer i1 = 13;
Integer i2 = 13;
// i1与i2是否相同
System.out.println(i1.equals(i2));// true
System.out.println(i1 == i2);// true
// -128到127之间的数据JDK将它封箱成一个对象
Integer i3 = 137;
Integer i4 = 137;
// i1与i2是否相同
System.out.println(i3 == i4);// false
System.out.println(i3.equals(i4));// true
//Integer.valueOf()方法
Integer i5 = Integer.valueOf(3);
Integer i6 = Integer.valueOf(3);
System.out.println(i5 == i6);// true
System.out.println(i5.equals(i6));// true
Integer i7 = Integer.valueOf(200);
Integer i8 = Integer.valueOf(200);
System.out.println(i7 == i8);// false
System.out.println(i7.equals(i8));// true
}
}
注:-128到127之间的数据JDK将它封箱成一个对象,每次构造一个都是同一个对象
静态导入
import static java.lang.Math.max;
/**
* JDK1.5 静态导入
*
* @author 张明学
*
*/
public class StaticImport {
public static void main(String[] args) {
System.out.println(Math.max(3, 6));
System.out.println(max(3, 6));
}
}
可变参数
/**
* JDK1.5 可变参数
*
* @author 张明学
*
*/
public class VariableParameter {
public static void main(String[] args) {
System.out.println(add(1, 2, 3, 4, 5, 6));
}
/**
* 可变参数:1.必须放在参数列表最后
* 2.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中可以数组形式访问可变参数
*
* @param x
* @param args
* @return
*/
public static int add(int x, int... args) {
int sum = 0;
sum = sum + x;
for (int i = 0; i < args.length; i++) {
sum += args[i];
}
for(int m : args){
System.out.println(m);
}
return sum;
}
}