java中Long和Integer缓存-128~127的简介说明
作者:互联网
转自:
http://www.java265.com/JavaJingYan/202205/16528451213416.html
Long类型简介:
Long 是 对象类型,默认值为null,有最大值和最小值的概念
Long类型可通过相应的方法longValue转换为long数值
在日常开发中,Long类型避免和数据库的主键映射,因为他存在null值,可能会产生相应的异常现象
由于Long是对象类型,所以我们可以使用new的方式定义一个Long类型
Integer类型简介:
Integer是int的包装类型,默认值为null
Integer类型可以使用intValue,提取出其中的int值
我们可以使用new 的方式定义一个Integer类型
下文笔者讲述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间的值"放入到一个缓存数组中
标签:java,int,valueOf,Long,128,127,类型,Integer 来源: https://www.cnblogs.com/java265/p/16434898.html