Java Effective 49 基本类型优于装箱基本类型

1. 同一样比较,a,b 不相等!dentity comparision!
Integer a = new Integer(1);
Integer b=  new Integer(1);


2. 当装箱基本类型引用为null时,进行自动拆箱时,将抛出java.lang.NullPointerException异常。
        // java.lang.NullPointerException
        // if(42==i){
        // System.out.println("Yes");
        // }

3. 装箱,拆箱效率低!如!
 public static void main(String[] args) {
     
        {
            Date start = new Date();
            Long sum = 0l;
            for (long i = 0; i < Integer.MAX_VALUE; i++) {
                sum += i;
            }
            System.out.println(sum);
            Date end = new Date();
            System.out.println("box & unbox cost:  " + (end.getTime() - start.getTime()));
        }

        {
            Date start = new Date();
            long sum = 0l;
            for (long i = 0; i < Integer.MAX_VALUE; i++) {
                sum += i;
            }
            System.out.println(sum);
            Date end = new Date();
            System.out.println("NO box & unbox cost:  " + (end.getTime() - start.getTime()));
        }
    }


引用

输出:
box & unbox cost:     26233
NO box & unbox cost:  5874




合适场合:
1. Set中的Key, Value.因为不能将基本类型放入集合中!

你可能感兴趣的:(java)