Java Effective 49 基本门类优于装箱基本类型
Java Effective 49 基本类型优于装箱基本类型1. 同一样比较,a,b 不相等!dentity comparision!Integer a
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())); } }
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())); } }
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())); } }