你确定了解Java的Integer吗?

同志们我又开始动笔了……

 

这两天在看Java的基础,看到Integer相关的内容,同时想起3年前一个大佬曾经面试过我这块,今天做个总结。

 

Java声称一切皆为对象,实际上也有一个例外:原始数据类型(Primitive Types)。一共有8个,分别是:boolean、byte 、short、char、int、float、double、long。他们不具备对象的特性,也没有自己的方法。

 

Integer,是int的包装类,从源码可知,Integer包含一个int型的字段value,用于存储数据,该value字段是final类型的,即生成了一个Integer对象后,该对象的数据值是不可更改的。还有两个常量MIN_VALUE表示int的最小值,MAX_VALUE表示int的最大值,即范围-2^31到2^31-1。

 

相比于原始数据类型,Integer封装了常用的一些方法,比如字符串转Integer,大小比较等。Java可以根据上下文,自动进行装箱拆箱,极大地简化大家平日的开发工作。

 

稍微有些开发经验的同学,应该也知道,Integer有个值缓存的机制。我们好好聊聊这个值缓存。

 

Java对象的创建,一般都是通过new的方式,Integer传统的方式也是如此。其实,通过观察和经验总结,发现大部分数据操作都集中在有限的、较小的范围内,那其实可以参考一般的缓存思想,虚拟机事先就提供好常用的Integer对象,那就可以有效的改进性能了。

 

虚拟机默认提供的Integer对象ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值