站点微信订阅号zhengjinyibu,欢迎大家搜索关注.
知识:
当程序进行涉及到装箱和拆箱基本类型和混合类型计算时,会进行拆箱
基本类型和装箱基本类型之间的三个主要区别:
1.基本类型只有值,而装箱基本类型具有与它们的值不同的同一性(两个装箱基本类型可以具有相同的值和不同的同一性)
2.基本类型只有功能完备的值,而每个装箱基本类型除了它对应的基本类型的所有功能值之外,还有个非功能值:null
3.基本类型通常比装箱基本类型更节省空间和时间。
适合使用装箱基本类型的地方:
1.作为集合中的元素,键和值。
2.在参数化类型中,必须使用装箱基本类型作为类型参数。
3.在进行反射方法调用时,必须使用装箱基本类型。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 package book.effectiveJava;import java.util.Comparator;public class e_49_PreferPrimitiveType { private static Integer d=null ; public static void main (String[] args) { long start = System.currentTimeMillis(); long sum = 0L ; for (long i = 0 ; i < Integer.MAX_VALUE; i++) { sum += i; } System.out.println(System.currentTimeMillis()-start+" sum:" + sum); Integer a = 42 ; Integer b = 42 ; System.out.println(a==b); System.out.println(new Integer(12 )==new Integer(12 )); Comparator<Integer> comparator=new Comparator<Integer>() { @Override public int compare (Integer first, Integer second) { return first < second ? -1 : (first == second ? 0 : 1 ); } }; System.out.println(comparator.compare(new Integer(42 ),new Integer(42 ))); System.out.println(comparator.compare(a,b)); System.out.println(d==13 ); } }
本文内容仅作为作者个人兴趣与观点,不代表所在公司及团队的观点和决策。若有不恰当之处,请联系站长.