JAVA的基本类型的包装类

基本类型不是类,但Java提供了与基本类型对应的包装类。

JAVA的基本类型的包装类

通过下列网址,可以获得包装类的内容:

Java Platform SE 8 

Double和Float没有缓存,其他类型都有高频缓存区间。其高频缓存区间的缓存范围是:
Boolean:使用静态final,就会返回静态值
Byte:-128~127
Short:-128~127
Character:0~127
Long:-128~127
Integer:-128~127
 

public class Demo1 {
    public static void main(String[] args) {

        Integer number1 = 127;
        Integer number2 = 127;

        System.out.println("number1==number2判断的值为" + (number1 == number2));

        Integer number3 = 128;
        Integer number4 = 128;

        System.out.println("number3==number4判断的值为" + (number3 == number4));
    }
}
结果为true和false

这是因为在通过valueOf方法创建Integer对象的时候,如果数值在[-128,127]之间,便返回指向IntegerCache.cache中已经存在的对象的引用;否则创建一个新的Integer对象。

public class Demo2 {
        public static void main(String[] args) {

            Boolean bool1 = false;
            Boolean bool2 = false;
            Boolean bool3 = true;
            Boolean bool4 = true;

            System.out.println("bool1==bool2判断的值为"+(bool1==bool1));
            System.out.println("bool3==bool4判断的值为"+(bool3==bool4));
        }
}
结果为true和true

它们使用静态 final 定义,就会返回静态值,所以答案2中返回都是true。

public class Demo3 {
    public static void main(String[] args) {

        Double d1 = 20.0;
        Double d2 = 20.0;

        System.out.println("d1==d2判断的值为" + (d1 == d2));

        Double d3 = 30.0;
        Double d4 = 30.0;

        System.out.println("d3==d4判断的值为" + (d3 == d4));
    }
}
结果为false和false。

它会返回一个新的Double对象。

上一篇:整数、浮点数在计算机中的存储,-128二进制怎么表示,


下一篇:UNET建筑物分割轮廓识别