Auto Boxing

1.int和Integer互相转换
int i = 100;
Integer n = Integer.valueOf(i);
int x = n.intValue();
2.这种直接把int变为Integer的赋值写法,称为自动装箱(Auto Boxing),反过来,把Integer变为int的赋值写法,称为自动拆箱(Auto Unboxing)。

不变类

所有的包装类型都是不变类。
Integer.valueOf()可能始终返回同一个Integer实例,因此,在我们自己创建Integer的时候,以下两种方法:

  • 方法1:Integer n = new Integer(100);
  • 方法2:Integer n = Integer.valueOf(100);

    方法2更好,因为方法1总是创建新的Integer实例,方法2把内部优化留给Integer的实现者去做,即使在当前版本没有优化,也有可能在下一个版本进行优化。

    进制转换

    1. public class Main {
    2. public static void main(String[] args) {
    3. System.out.println(Integer.toString(100)); // "100",表示为10进制
    4. System.out.println(Integer.toString(100, 36)); // "2s",表示为36进制
    5. System.out.println(Integer.toHexString(100)); // "64",表示为16进制
    6. System.out.println(Integer.toOctalString(100)); // "144",表示为8进制
    7. System.out.println(Integer.toBinaryString(100)); // "1100100",表示为2进制
    8. }
    9. }