首页 > 其他分享 >int和Integer的区别

int和Integer的区别

时间:2024-03-21 22:46:21浏览次数:23  
标签:区别 int System new Integer 100 out

(1)Integer是int的包装类,int是基本数据类型
(2)Integer变量必须实例化会才能使用,int变量则不用
(3)Integer的默认值是null,int的默认值是0
(4)Integer实际是对象的引用,new Integer()会生成一个指针指向此对象;int则直接存储数据值

int和Integer的比较
(1)
Integer i = new Integer(100);
Integer j = new Integer(100);
System.out.print(i == j); //false
两个通过new生成的Integer变量永远不相等,因为new生成的两个对象,其内存地址不一样

(2)
Integer i = new Integer(200);
int j = 200;
System.out.print(i == j); //true
包装类和基本数据类型int比较时,Java会自动拆包装类为int进行比较,实际上是两个int变量的比较

(3)
Integer i = new Integer(100);
Integer j = 100;
System.out.print(i == j); //false
数值在-128~127之间时,非new生成的Integer变量指向的是Java常量池中的对象,而new Integer()生成的变量指向堆中新建的对象,两者的内存地址不一样

(4)
Integer i = 100;
Integer j = 100;
System.out.print(i == j); //true

Integer i = 128;
Integer j = 128;
System.out.print(i == j); //false

两个非new生成的Integer对象进行比较时,如果变量在-128~127之间,比较结果为true,如果不在此区间,则比较结果为false

标签:区别,int,System,new,Integer,100,out
From: https://www.cnblogs.com/yumeixiaosheng/p/18088408

相关文章

  • 3.Go 语言 定义变量、fmt 包、Print、Println、Go 语言注释
    Go语言定义变量、fmt包、Print、Println、Printf、Go语言注释1、Go语言定义变量这里我们为了演示代码期间给大家先简单介绍一下变量,后面的教程还会详细讲解。关于变量:程序运行过程中的数据都是保存在内存中,我们想要在代码中操作某个数据时就需要去内存上找到这个变量,但是......
  • C语言中的printf和sprintf的用法及区别
    sprintf函数是C语言中用于格式化输出到字符串的函数。它的原型如下:intsprintf(char*buffer,constchar*format,[argument]…);str:指向存储输出结果的字符数组的指针。format:格式化字符串,包含要输出的文本和格式说明符。[argument]:可变参数列表,用于提供要插入格式化......
  • ArrayList的扩容机制以及ArrayList与LinkedList的区别
    ArrayList的扩容机制假设采用无参构造器来实列化ArrayList对象ArrayListarrayList=newArrayList();此时,arrayList的初始容量为零,当第一次调用add方法时,会触发扩容机制,容量扩容为10。此后,在调用add方法时,如果容量不足,则容量会扩容为当前容量的1.5倍。capcity=capacity......
  • vue一些基础概念,核心理念,框架和库的区别,MVC和MVVM的区别,展示数据的几种方法、v-bind、
    1、什么是vue,核心理念,为什么学习vue1(单页面应用程序)用于构建用户界面的渐进式框架,采用自底向上增量开发的设计2数据驱动视图,组件化开发3轻量级框架、简单易学、虚拟的DOM、数据视图结构分离下面展示一些内联代码片。下面是vue的代码框架分为三部分:1.引入vue.js;2......
  • [GPT] swoole的协程和golang的协程有什么区别,哪个更好
    Swoole的协程和Golang(Go语言)的协程(Goroutine)在概念上都是为了实现轻量级的并发编程,但它们在具体实现、使用方式和性能特点上有所不同:实现原理:Golang协程(Goroutine):Go语言从语言层面内置了对协程的支持。Goroutine是由Go运行时系统管理的轻量级线程,它基于M:N调度模型......
  • HandlerInterceptor - 自定义拦截器
    自定义一个类实现HandlerInterceptor接口,加上@Component注解。根据需要重写方法publicinterfaceHandlerInterceptor{defaultbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{returntrue;......
  • pageX|pageY、clientX |clientY、offsetX|offsetY的区别
    一、pageX|pageY当鼠标点击、按下、移动时触发,可获取到该值。pageX|pageY:以页面左上角为基准点,相对于页面来说的。【当前鼠标触发点,距离页面左上角的距离,不会因为页面的滚动条的改变而改变】二、clientX|clientY当鼠标点击、按下、移动时触发,可获取到该值。pageX|pageY:以浏览器......
  • 【已解决】null value in column “XXX“ violates not-null constraint当我数据库的
    报错信息:nullvalueincolumn"id"violatesnot-nullconstraintDetail:Failingrowcontains(11110,1,null) 一般来说,是因为插入的主键Id为空引起的。这就和我们数据库中的设置默认值产生了冲突,我设置了默认值,为什么他还是报这个字段不能为空的错误?这个时候就要......
  • TCL-{} 与“”的区别;$(), $, ${}的区别
    1.tcl中,{}对里面的各种特殊字符都不作处理,仅当做普通的字符串      “”对里面的各种分隔符不作处理,但是对换行符(\n);置换符($;[])会照常处理需要注意的是,在foreach中的{}里面的内容 变量置换和计算 操作仍会正常执行,是因为在foreach中{}作为其中的循......
  • CAD的ShowDialog与普通ShowDialog的区别
    记录解决的奇奇怪怪的bug今天在对form设置启动位置的时候一直设置不成功,后面才发生是AcadApp.ShowModalDialog的问题!我们知道CAD的ShowDialog会使新开的窗体在CAD上面所以正常开窗体都是用这个.今天我想把窗体开在我鼠标点的位置StartPosition=FormStartPosition.Ma......