浏览 2209 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-01-31
最后修改:2011-01-31
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.因为不能将基本类型放入集合中! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-31
用了包装类型当然只能用equals比较相等
acrbb 写道 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 楼主大大能把两个测试的顺序反过来再测一次吗, 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())); } } |
|
返回顶楼 | |