转自:
http://www.java265.com/JavaJingYan/202205/16528451213416.html
Integer:
Integer 数据类型是java中int的包装类型
Integer 一个整型数据用来存储整数,整数包括正整数,负整数和零。
整型常量采用十进制整数表示。如 1991,0,-123等等都是整型常量。而52.0或131.4都不是整型常量。
Integer 变量存储为最接近编译环境的长度,例如在32位的编译环境下,Integer为32位,其范围为 -2^15 到 2^15-1 之间
Long:
是java中的基础类型,用于存储数值
这两种类型也是我们日常开发中,常用的数据类型,那么他们之间如何进行互相转换呢?下文笔者将一一道来,如下所示
下文笔者讲述Java中Long和Integer缓存的简介说明,如下所示:
先判断下下面代码的输出结果 1:---------------------------------------------- Long a = Long.valueOf(127); Long b = Long.valueOf(127); System.out.println(a == b); 2:--------------------------------------------------- Long a = Long.valueOf(128); Long b = Long.valueOf(128); System.out.println(a == b); -------------------------------------------------------- 1:true 2:false
Long类型的源码
public static Long valueOf(long l) { final int offset = 128; if (l >= -128 && l <= 127) { // will cache return LongCache.cache[(int)l + offset]; } return new Long(l); } private static class LongCache { private LongCache(){} static final Long cache[] = new Long[-(-128) + 127 + 1]; static { for(int i = 0; i < cache.length; i++) cache[i] = new Long(i - 128); } } 从以上代码上,我们可以看出 \"-128到127间的值\"放入到一个缓存数组中
来源:https://www.cnblogs.com/java265/p/16284084.html
本站部分图文来源于网络,如有侵权请联系删除。