首页 > 其他分享 >Integer使用==比较的问题

Integer使用==比较的问题

时间:2023-03-01 14:56:53浏览次数:31  
标签:int 使用 new public value integer Integer 比较

Integer使用==比较的问题

  • new一个对象

    public Integer(int value) {
      this.value = value;
    }
    
  • 自动装箱

    public static Integer valueOf(int i) {
      if (i >= IntegerCache.low && i <= IntegerCache.high)
        return IntegerCache.cache[i + (-IntegerCache.low)];
      return new Integer(i);
    }
    
  • 自动拆箱

    public int intValue() {
      return value;
    }
    

    总结:

    • int 和 int 比较,比较的是字面量的值,使用==始终是true
    • int 和 integer 比较,由于 integer 会发生自动拆箱,也是true
    • integer 和 integer 比较:
      • 若两个都是new出来的对象,则始终是false
      • 若一个是new,一个是非new(包括字面量 || Integer.valueOf( )等),那么一个是自动装箱的对象,一个是new出来的对象,始终flase
      • 两个都不是new出来的,都会发生自动装箱,就需要看值的范围,在-128-127的范围内,会获取IntegerCache里的对象,这样就是true,范围外的还是false

image

标签:int,使用,new,public,value,integer,Integer,比较
From: https://www.cnblogs.com/weilx/p/17168138.html

相关文章

  • SpringCloud OpenFeign的使用
    SpringCloudOpenFeign的使用是什么:声明式http客户端。目的:使远程调用更简单作用:提供了http请求模板,仅需编写简单接口和插入注解,就可以定义好原始http请求的参数、格......
  • 动态SQL与静态SQL使用场景
    静态SQL和动态SQL的区别静态SQL(或嵌入式SQL)是应用程序中的SQL语句,它们在运行时不会更改,因此可以硬编码到应用程序中。动态SQL是在运行时构造的SQL语句;例如,应用......
  • vue前端实现将页面显示内容生成pdf文件的几种方法,html2canvas、dom-to-image、jspdf(带
    实际开发需求:vue项目中,根据数据结构生成echarts图表组件,生成带有样式的图表以后,点击下载按钮,把图表以pdf格式的文件下载到本地实现思路:将vue界面的echarts组件生成图片,然......
  • # java.lang.Integer和java.lang.Long判断的值相同
    Objectstart_index=o1.get(0);Stringstart_index_str=start_index.toString();longstart_index_s......
  • hdfs file system shell的简单使用
    1、背景此处我们通过命令行,简单的学习一下hdfsfilesystemshell的一些操作。2、hdfsfilesystemshell命令有哪些我们可以通过如下网址https://hadoop.apache.org/d......
  • 使用 BLIP-2 零样本“图生文”
    本文将介绍来自Salesforce研究院的BLIP-2模型,它支持一整套最先进的视觉语言模型,且已集成入......
  • 使用WPF创建炫亮按钮
    1.创建三个按钮(创建多个按钮的目的是作对比及样式演示)(1)打开Microsoft ExpressionBlend2(我这里是AugustPreview版本,以下简称Blend)(2)File-> NewProject,默认选......
  • dart-sass与node-sass的区别以及使用dart-sass可能会出现的问题
    前言2020年10月27日,Sass官方团队正式宣布Libsass将弃用,以及基于它的NodeSass和SassC,并且建议用户使用DartSass。如果在vue脚手架搭建的项目中需要使用sass,建议初始......
  • 如何实现一个公共组件库上传到npm并在项目中使用
    一般多个项目使用一些公共组件的时候,我们没必要在每个项目里写公共组件代码,我们可以将公共组件封装成一个库,上传至npm,这样我们在项目中使用就可以直接从npm下载直接使用。当......
  • hdfs file system shell的简单使用
    目录1、背景2、hdfsfilesystemshell命令有哪些3、确定shell操作的是哪个文件系统4、本地准备如下文件5、hdfsfilesystemshell5.1mkdir创建目录5.2put上传文件5.3l......