java integer的范围_java integer的取值范围是什么?

java integer的范围_java integer的取值范围是什么?JavaInteger取值范围Integer类取值和int类型取值一致,取值范围是从-2147483648至2147483647,包括-2147483648和2147483647。但是对于Integer类,java为了提高效率,初始化了-128–127之间的整数对象,因此Integer类取值-128–127的时候效率最高。测试:publicclassIntegertest…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

e1c9c8a5fc2cbdc90bb498b8e61897f8.png

Java Integer取值范围

Integer类取值和 int 类型取值一致,取值范围是从-2147483648 至 2147483647 ,包括-2147483648 和 2147483647。

但是对于Integer类,java为了提高效率,初始化了-128–127之间的整数对象,因此Integer类取值-128–127的时候效率最高。

测试:public class Integertest { public static void main(String[] args) {

System.out.println(“最大取值:” + Integer.MAX_VALUE);

System.out.println(“最小取值:” + Integer.MIN_VALUE);

}

}

输出:最大取值:2147483647 最小取值:-2147483648

拓展知识:

JVM会自动维护八种基本类型的常量池,int常量池中初始化-128~127的范围,所以当为Integer i=127时,在自动装箱过程中是取自常量池中的数值,而当Integer i=128时,128不在常量池范围内,所以在自动装箱过程中需new 128,所以地址不一样。

例:public class IntegerTest {

public static void main() {

Integer i1=127,i2=127;

System.out.println(i1==i2);

Integer i1=128,i2=128;

System.out.println(i1==i2);

}

}

输出结果:true

false

当Integer取值在常量池范围之内,对JVM为了节省空间, 当Integer的值落在-128~127之间时,如i1,i2;此时JVM首先检查是否已存在值为127的Integer对象。如果是,则i1,i2直接是引用已存在对象,即i1 = i52所以判断i1 == i2 为 true。

当超出常量池取值范围,则每次都会新建对象。Integer类中有一个静态内部类IntegerCache,在IntegerCache类中有一个Integer数组,用以缓存当数值范围为-128~127时的Integer对象。

更多web开发知识,请查阅 HTML中文网 !!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/223432.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Eclipse导入Maven工程报异常

    Eclipse导入Maven工程报异常蛋疼的一天,今天刚弄好新机子,迁移项目,导入的时候报如下错误:Couldnotcalculatebuildplan:Pluginorg.apache.maven.plugins:maven-resources-plugin:2.6oroneofitsdependenciescouldnotberesolved:Failedtoreadartifac

    2022年5月18日
    35
  • vscode常用的插件_vscode必装插件

    vscode常用的插件_vscode必装插件1.Searchnode_modules用于搜索node_modules下的文件2.CodeMetricsComputescomplexityinTypeScript/JavaScriptfiles.Itlookslikethis3.CodeRunner右键runcode直接在vscode里运行当前文件的代码。支持多种语言。Runcodesnippet…

    2022年9月30日
    1
  • AD域的搭建

    AD域的搭建AD域1——肯定是先添加AD域服务器开始—》所有程序—》管理你的服务器—》添加删除程序—》选择添加AD域然后一系列设置,记得搭建了好几次,每次搭建的时候还是要看文档问别人,这次索性就记录每一个步骤,到了检测DNS服务器那里了。2——打开DNS服务管理器,修改一下SOA的属性3——AD的作用是把用户添加到一个组中进行统一管理…

    2022年5月13日
    167
  • golang 2021最新激活码[在线序列号]

    golang 2021最新激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    80
  • 拓扑图怎么看_拓扑排序算法图解

    拓扑图怎么看_拓扑排序算法图解一条单向的铁路线上,依次有编号为 1, 2, …, n 的 n 个火车站。每个火车站都有一个级别,最低为 1 级。现有若干趟车次在这条线路上行驶,每一趟都满足如下要求:如果这趟车次停靠了火车站 x,则始发站、终点站之间所有级别大于等于火车站 x 的都必须停靠。(注意:起始站和终点站自然也算作事先已知需要停靠的站点)例如,下表是 5 趟车次的运行情况。其中,前 4 趟车次均满足要求,而第 5 趟车次由于停靠了 3 号火车站(2 级)却未停靠途经的 6 号火车站(亦为 2 级)而不满足要求。现有 m

    2022年8月10日
    10
  • Python基本特殊方法之__format__

    __format__()方法__format__()传参方法:someobject.__format__(specification)specification为指定格式,当应用程序中出现&quo

    2021年12月19日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号