Java中int与整数有什么区别

  介绍

本篇文章为大家展示了Java中int与整数有什么区别,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

<>强基本数据类型和引用类型

Java是面向对象的编程语言,一切都是对象,但是为了编程的方便还是引入了基本数据类型,为了能够将这些基本数据类型当成对象操作,Java为每一个基本数据类型都引入了对应的包装类型(包装类),int的包装类就是整数,从Java 5开始引入了自动装箱/拆箱机制,使得二者可以相互转换,对应如下:

原始类型:布尔,char,字节,短,int,长,浮动,双
包装类型:boolean、性格,字节,短,整数,长,浮动,双
Java中的基本数据类型只有以上8个,除了基本类型(原始类型),剩下的都是引用类型(引用类型)。

<强>三种引用类型:

<李>

类类<李>

接口接口

<李>

数组数组

<强> int和整数的区别

<李>

1、整数是int的包装类,int则是Java的一种基本数据类型

<李>

2,整数变量必须实例化后才能使用,而int变量不需要

<李>

3,整数实际是对象的引用,当新的一个整数时,实际上是生成一个指针指向此对象,而int则是直接存储数据值

<李>

4,整数的默认值是null, int的默认值是0

延伸:
关于整数和int的比较

1,由于整数变量实际上是对一个整数对象的引用,所以两个通过新的生成的整数变量永远是不相等的(因为新的生成的是两个对象,其内存地址不同)。

Integer 小姐:=,new 整数(100);   Integer  j =, new 整数(100);   System.out.print(小姐:==,j);,//假

2,整数变量和int变量比较时,只要两个变量的值是向等的,则结果为真(因为包装类整数和基本数据类型int比较时,java会自动拆包装为int,然后进行比较,实际上就变为两个int变量的比较)

Integer 小姐:=,new 整数(100);   int  j =, 100;   System.out.print(小姐:==,j);,//真正的

3,非新生成的整数变量和新的整数()生成的变量比较时,结果为假的。(因为非新生成的整数变量指向的是java常量池中的对象,而新的整数()生成的变量指向堆中新建的对象,两者在内存中的地址不同)

Integer 小姐:=,new 整数(100);   Integer  j =, 100;   System.out.print(小姐:==,j);,//假

4,对于两个非新生成的整数对象,进行比较时,如果两个变量的值在区-128到127间之间,则比较结果为真,如果两个变量的值不在此区间,则比较结果为

falseInteger 小姐:=,100;   Integer  j =, 100;   System.out.print(小姐:==,j);,//真正的

不在128 - 127年之间:

Integer 小姐:=,128;   Integer  j =, 128;   System.out.print(小姐:==,j);,//假

对于第4条的原因:
java在编译整数我=100;时,会翻译成为
整数i=Integer.valueOf(100);,而java API中对整数类型的返回对象的值的定义如下:

public  static  Integer 返回对象的值(int  i) {   ,assert  IntegerCache.high 祝辞=,127;   ,if (小姐:祝辞=,IntegerCache.low ,,,小姐:& lt;=, IntegerCache.high) {   return 才能;IntegerCache.cache[小姐:+,(-IntegerCache.low)];   ,}   ,return  new 整数(我);   }

java对于-128年到127年之间的数,会进行缓存,整数我=127时,会将127年进行缓存,下次再写整数j=127时,就会直接从缓存中取,就不会新的了。

上述内容就是java中int与整数有什么区别,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

Java中int与整数有什么区别