java Integer范围详解

java Integer范围详解Integer 包装类在一定范围内生成的对象是相等的 在范围外则是不等的 这个范围是 128 128 publicstatic String args Integera 4 Integerb 4 System out println a b true Integerc 159 Integerd 159 System out println c d false 这里我们要注意 1 I

  1. Integer包装类在一定范围内生成的对象是相等的,在范围外则是不等的,这个范围是[-128,128)。
 public static void main(String[] args){ 
    Integer a = 4; Integer b = 4; System.out.println(a==b);//true Integer c = 159; Integer d = 159; System.out.println(c==d);//false } 

这里我们要注意(1)Integer a = Integer.valueOf(4)。而不是(2)Integer a = new Integer(4)。这两种情况给是不相同的。

  • (2)是新声明出一个对象。每声明出一个对象就会在堆内存中创建一个属于这个对象的地址。让我们看看代码块及运行结果
public static void main(String[] args){ 
    Integer a = 4 Integer b = 4; Integer b1 = new Integer(4); Integer b2 = new Integer(4); System.out.println(b1==b2);//false System.out.println(b==b1);//false System.out.printlm(b==a);//true } 
public static Integer valueOf(int i) { 
    if (i >= IntegerCache.low && i <= IntegerCache.high) return IntegerCache.cache[i + (-IntegerCache.low)]; return new Integer(i); } 

从源代码中我们可以看出传进来的i值大小在范围内[-128,128)之间则返回数组cache中已有的值。若不满足在新建一个Integer对象。我们可以理解为a,b都指向的是同一个地址(当数值相同时)。

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

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

(0)
上一篇 2026年3月19日 下午11:23
下一篇 2026年3月19日 下午11:24


相关推荐

  • css元素水平垂直居中的十种方法

    css元素水平垂直居中的十种方法

    2022年3月11日
    66
  • OpenClaw 进阶实战:如何优化数据简报生成速度与图表展示效果?

    OpenClaw 进阶实战:如何优化数据简报生成速度与图表展示效果?

    2026年3月13日
    1
  • amos路径分析结果解读_swot模型个人分析

    amos路径分析结果解读_swot模型个人分析基于Amos的路径分析与模型参数详解1数据准备1.1数据格式转换2结构方程模型建立2.1变量相互关系确定2.2路径图绘制2.3数据导入3模型运行与结果3.1模型方法参数选择3.2模型输出参数选择3.3模型运行3.4模型结果1数据准备  本文所用数据包括某地百余个土壤采样点对应的一种土壤属性含量变量(BC)及与其有关的5种环境变量(Temp,Slope,Roden,POI,GAIA),存储于“xlsx”文件内。由于本文所用的土壤采样点空间数据集并不是我的,因此

    2022年8月24日
    16
  • LeeCode(Database)-Employees Earning More Than Their Managers

    LeeCode(Database)-Employees Earning More Than Their Managers

    2021年9月8日
    67
  • PS2手柄遥控控制灯开关(arduino)

    PS2手柄遥控控制灯开关(arduino)PS2手柄遥控控制灯开关(arduino)使用的材料arduino板子:ps2遥控手柄;一个5V供电的LDE;连线首先按照遥控手柄底座上的英文,你会发现一共有六根线,分别是GND,VCC,DAT,CMD,CS,CL。GND连接arduino板子上的gnd,vcc连接5V或者3.3v,其他四根线可以按照代码中的引脚设置连接,也可以自己更改。代码部分#include<PS…

    2022年6月3日
    90
  • C++虚析构函数和纯虚析构函数

    C++虚析构函数和纯虚析构函数1、为什么要使用虚析构函数我们知道析构函数是在对象生命周期结束时自动被调用,用来做一些清理工作(如释放句柄,释放堆内存等),防止出现内存泄漏。那怎么还有虚析构函数呢?使用虚析构函数的类一般是要作为基类,被其他类继承。通过把基类的析构函数声明为虚函数,就可以通过父类指针来释放子类对象,从而完成子类的一些清理工作,防止出现内存泄漏。案例1:基类析构函数为非虚函数//test.hclassParent{public:Parent();~Parent

    2022年6月17日
    30

发表回复

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

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