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


相关推荐

  • 剑指 Offer 06. 从尾到头打印链表(链表)

    剑指 Offer 06. 从尾到头打印链表(链表)输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

    2022年8月8日
    9
  • 常用的垂直细分引擎工具

    常用的垂直细分引擎工具常用的垂直细分的引擎工具我们需要一些垂直细分的引擎工具,帮我们搞定更精准的信息。本文基于大家日常上网的需要,分类整理了不同检索需求的工具,主要包括:电子书、图片、网盘、音乐、工作机会以及商品价格检索。

    2022年7月3日
    28
  • 编译命令行终端 swift

    编译命令行终端 swift

    2022年1月13日
    44
  • 常用的Java工具,16个

    常用的Java工具,16个在Java中,工具类定义了一组公共方法,这篇文章将介绍Java中使用最频繁及最通用的Java工具类。以下工具类、方法按使用流行度排名,参考数据来源于Github上随机选取的5万个开源项目源码。一.org.apache.commons.io.IOUtilscloseQuietly:关闭一个IO流、socket、或者selector且不抛出异常,通常放在finally块toString:转换IO流、Uri、byte[]为Stringcopy:IO流数据复制,从输入流写到输出流中,最大支持2GB

    2022年7月7日
    29
  • 图书管理系统C语言_c语言图书信息管理系统

    图书管理系统C语言_c语言图书信息管理系统《C语言图书管理系统代码》由会员分享,可在线阅读,更多相关《C语言图书管理系统代码(3页珍藏版)》请在人人文库网上搜索。1、include#includenum,ptr-bname,ptr-wname,ptr-press,ptr-sort,ptr-time,ptr-price);printf(=n);f*n,p-num,p-bname,p-wname,p-press,p-sort,p-time…

    2022年10月11日
    3
  • 我用Java+Redis+ES+Kibana技术对数百万知乎用户进行了数据分析,得到了这些…

    点击上方“全栈程序员社区”,星标公众号 重磅干货,第一时间送达 作者:_artoria_ http://tinyurl.com/quscxyl 1. 前言 我是一个真正的知乎小白。…

    2021年6月25日
    91

发表回复

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

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