文档章节

java封装类Integer和Long使用

pacey
 pacey
发布于 2017/09/03 14:30
字数 209
阅读 1
收藏 0

其中非常常见的一个是比较两个Long或Integer时直接使用的==来比较。 其实这样是错误的。

 

因为Long与Ineger都是包装类型,是对象。  而不是普通类型long与int , 所以它们在比较时必须都应该用equals,或者先使用longValue()或intValue()方法来得到他们的基本类型的值然后使用==比较也是可以的。

 

但是有一种特殊情况, 其实Long与Integer都将 -128~127 这些对象缓存了。  可以看看Long类型源码里面有一个LongCache类,代码如下:

  1. private static class LongCache {  
  2.     private LongCache(){}  
  3.   
  4.     static final Long cache[] = new Long[-(-128) + 127 + 1];  
  5.   
  6.     static {  
  7.         for(int i = 0; i < cache.length; i++)  
  8.         cache[i] = new Long(i - 128);  
  9.     }  
  10.     }  

 

所有在使用封装类中,尽量使用equal方法来比较值。

本文转载自:http://blog.csdn.net/is_zhoufeng/article/details/38443507

共有 人打赏支持
pacey
粉丝 0
博文 25
码字总数 8465
作品 0
闵行
私信 提问
JAVA HashMap排序, 引用类型和封装类型

构建Hashmap的时候 发现不能用double, 可以用String。 后来才发现double是原始数据类型, Double是它的封装类型,用在HashMap和 List中。 如果用double 无法编译通过,会提示 required ref...

qizok
07/03
0
0
Java自动装箱与拆箱及其陷阱

在本文中,笔者向大家介绍下Java中一个非常重要也非常有趣的特性,就是自动装箱与拆箱,并从源码中解读自动装箱与拆箱的原理,同时这种特性也留有一个陷阱。开发者如果不注意,就会很容易跌入...

LCZ777
2014/07/26
0
0
理解Java Integer的缓存策略

版权声明:欢迎关注我的微信公众号:「easyserverdev」,中文名:『高性能服务器开发』。 https://blog.csdn.net/analogous_love/article/details/80095818 本文将介绍 Java 中 Integer 缓存...

analogous_love
04/26
0
0
Java 中int和Integer有什么区别

面对上面的问题,你该怎么回答? 典型回答 int 是我们常说的整形数字,是 Java 的 8 个原始数据类型(Primitive Types,boolean、byte、short、char、int、float、double、long)之一。Java ...

我爱春天的毛毛雨
11/14
0
0
java基础一(第一个java程序、数据类型、访问控制、static、)

一、第一个java程序 public class HelloWord {//public访问修饰符 class关键字,声明为类 HelloWord类名 //public访问修饰符 static关键字 void表示无返回值 main程序入口 } 二、数据类型 Ja...

废柴
02/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Rotate Array(leetCode189)

Given an array, rotate the array to the right by k steps, where k is non-negative. Example 1: Input: [1,2,3,4,5,6,7] and k = 3Output: [5,6,7,1,2,3,4]Explanation:rotate 1 s......

woshixin
39分钟前
1
0
给女朋友讲解什么是Optional【JDK 8特性】

前言 只有光头才能变强 前两天带女朋友去图书馆了,随手就给她来了一本《与孩子一起学编程》的书,于是今天就给女朋友讲解一下什么是Optional类。 至于她能不能看懂,那肯定是看不懂的。(学到...

Java3y
59分钟前
2
0
2019年六大新兴信息安全方向

导读 黑客攻击和网络犯罪的威胁正在不断升级,相应的技术“军备竞赛”正愈演愈烈,对于信息安全从业人员来说,掌握最新的信息安全工具,是在信息安全战争中生存下来的关键所在。 从特朗普的手...

问题终结者
今天
1
0
redis扩展-自定义PropertyPlaceholderConfigurer,在spring属性注入之前,手动将properteis合并到spring容器中

背景:spring容器启动过程中,通过PropertyPlaceholderConfigurer读取properties配置文件,并将properties配置文件中的值注入spring bean的属性中, PropertyPlaceholderConfigurer使用方式多...

燃犀
今天
0
0
PostgreSQL SPI 中的错误处理

PostgreSQL SPI 用于在 C 或是其他编程语言编写的扩展函数(存储过程)中调用数据库本身的解析器、规划器和执行器的功能,以及对 SQL 语句进行执行。 在最重要的一个函数 SPI_execute 的文档...

helloclia
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部