Java基础:(一)数据类型

2019-03-12 08:21:38来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一、包装类型

基本类型都有对应的包装类型,基本类型与其对应的包装类型之间的赋值使用自动装箱与拆箱完成。

八个基本类型:boolean/1;byte/8;char/16;short/16;int/32;float/32;long/64;double/64

二、缓存池

new Integer(123)与Integer.valueOf(123)的区别在于,new Integer(123)每次都会新建一个对象,而Integer.valueOf(123)可能会使用缓存对象,因此多次使用Integer.valueOf(123)会取得同一个对象的引用。

编译器会在自动装箱过程中调用valueOf() 方法,valurOf()方法的实现是先判断值是否在缓存池中,如果在的话就直接返回缓存池的内容,如果不在的话,就要新建。

Java缓存池中基本类型的值:boolean:true和false;byte:-128-127;short:-128-127;int:-128-127 

Integer a = Integer.valueOf(128);
Integer b = Integer.valueOf(128);
System.out.println(a==b);    //值为false,因为128超出了缓存池中int表示的范围

Integer a = Integer.valueOf(127);
Integer b = Integer.valueOf(127);
System.out.println(a==b);    //值为true

Integer a = 128;
Integer b = 128;
System.out.println(a==b)    //值为false,自动装箱过程中编译器会调用valueOf()方法

 


原文链接:https://www.cnblogs.com/liumilk/p/10516551.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:The superclass "javax.servlet.http.HttpServlet&

下一篇:从零开始学 Spring Boot