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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm激活码最新【中文破解版】

    (pycharm激活码最新)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    44
  • Jmeter安装及配置教程

    Jmeter安装及配置教程Jmeter安装及配置教程一、JMeter的安装配置过程二、JMeter的运行和语言设置一、JMeter的安装配置过程安装配置过程:第一步安装JDK,配置JDK路径到Oracle官方网站下载最新版本的jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html这里使用的操作系统是Windows,选最后一个下载,下载完直接运行安装。安装完设置一下环境参数。JAVA_HOME:D:\

    2022年5月3日
    46
  • 第十六届全国大学生智能汽车竞赛华南赛区_第十五届全国大学生智能汽车竞赛

    第十六届全国大学生智能汽车竞赛华南赛区_第十五届全国大学生智能汽车竞赛本文给出了第十七届全国大学生智能车竞赛华南赛区比赛各个组别的成绩和相应的统计分析。

    2022年9月27日
    6
  • c++成长之路_成长路上无捷径作文800字

    c++成长之路_成长路上无捷径作文800字c/c++成长之捷径     c++成长之路不再迷茫!      不知不觉中进入计算机行业已有多个年头了,回首往事依然历历在目。今天我把我这段时间收集的书籍资料以及实例源码帖出来(部分资料太大了放不上去,理解下),与大家一起分享,我想其中的一些资料对大家会有帮助,并且我希望这些资料以及实例源码能对大家有一定的提升作用。帮助初学者快速进入VC++并且能融

    2022年10月8日
    4
  • WinExec, ShellExecute, CreateProcess

    WinExec, ShellExecute, CreateProcess2010-08-1314:47 633人阅读 评论(0) 收藏 举报vc++nullattributes文档microsoftsecurity在vc++程序中运行另一个程序的方法有三个:WinExec(),ShellExcute()和CreateProcess()三个SDK函数: WinExec,ShellExecute ,CreateProcess可以实现调

    2022年7月27日
    3
  • jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」

    jenkins教程菜鸟_jenkins 入门教程(上)「建议收藏」jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译、打包、分发部署。jenkins可以很好的支持各种语言(比如:java,c#,php等)的项目构建,也完全兼容ant、maven、gradle等多种第三方构建工具,同时跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。jenkins官…

    2022年5月14日
    75

发表回复

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

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