文档章节

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 基本数据类型 sizeof 功能

Java基本数据类型 int 32bit short 16bit long 64bit byte 8bit char 16bit float 32bit double 64bit boolean 1bit,This data type represents one bit of information, but its "size" is......

长平狐
2013/01/06
55
0
JAVA HashMap排序, 引用类型和封装类型

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

qizok
2018/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
2018/04/26
0
0
JDK 中常用的包

JDK 中常用的包 Java 私塾跟我学系列——JAVA 篇 配合Java 私塾课堂实录学习视频,可以事半功倍。 视频地址:www.javass.cn/javapeixunzlxz/zlxz.html java.lang----包含一些 Java 语言的核心...

luodis
2010/12/23
690
0

没有更多内容

加载失败,请刷新页面

加载更多

cnetos7+docker+rancher构建基于DevOps的全自动CI【01】

来自DevOps实践分享,分享从开发代码到生产环境部署的一条龙操作的实践及经验, 包含工具技术的选型及考量、私有代码库与私有镜像库的应用等。 1、环境选择 安装Rancher环境,一定要在干净的...

Elson
20分钟前
1
0
21分钟教会你分析MaxCompute账单

背景 阿里云大计算服务MaxCompute是一款商业化的大数据分析平台,其计算资源有预付费和后付费两种计费方式。并且产品每天按照project为维度进行计量计费(账单基本情况下会第二天6点前产出)...

zhaowei121
24分钟前
0
0
CTO职场解惑指南系列(一)

基于科技能够改变世界的事实,几乎每个公司的程序员都自带闪光灯。程序员的手和普通人的手自然是有区别的,“我们可是用双手改变了世界” 。(码农真的是靠双手吃饭,呵呵) 这个世界上但凡靠...

阿里云云栖社区
28分钟前
2
0
css实现图片自适应容器宽高

css实现图片自适应容器宽高的做法一般如下所示 <style>div{width: 200px; height: 200px}div img{width: 100%; height: 100%}</style><div><img src="xxxx.png" /></div> 当外层容......

小草先森
29分钟前
3
0
PlatON在CentOS上编译部署

本文作者为万向区块链CTO罗荣阁。 目录 PlatON在CentOS上编译部署 1. CentOS 环境准备 1.1. 使用rpm 安装devtoolset-7 1.2. 使用rpm 安装dos2unix 1.3. 准备PlatON代码 1.4. 确保build脚本正...

万向区块链
37分钟前
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部