integer(为什么用integer不用int)
其实integer的问题并不复杂,但是又很多的朋友都不太了解为什么用integer不用int,因此呢,今天小编就来为大家分享integer的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
java中 Integer是什么意思
int与integer的区别从大的方面来说就是基本数据类型与其包装类的区别:
int是基本类型,直接存数值,而integer是对象,用一个引用指向这个对象
1.Java中的数据类型分为基本数据类型和复杂数据类型
int是前者而integer是后者(也就是一个类);因此在类进行初始化时int类的变量初始为0.而Integer的变量则初始化为null.
2.初始化时:
inti=1;Integeri=newInteger(1);(要把integer当做一个类看);但由于有了自动装箱和拆箱
使得对Integer类也可使用:Integer i= 1;
int是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充),Integer是一个类,是int的扩展,定义了很多的转换方法
类似的还有:float Float;double Double;boolean Boolean等,而且还提供了处理 int类型时非常有用的其他一些常量和方法
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装object的,这是就需要这些内建类型的外覆类了。
Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
1.int是基本的数据类型;
2.Integer是int的封装类;
3.int和Integer都可以表示某一个数值;
4.int和Integer不能够互用,因为他们两种不同的数据类型;
举例说明
private void test(Integer iAge){
int age=iAge;
}
test(null);//将会导致空指针异常
并且泛型定义时也不支持int:如:List<Integer> list= new ArrayList<Integer>();可以而List<int> list= new ArrayList<int>();则不行
总而言之:如果我们定义一个int类型的数,只是用来进行一些加减乘除的运算or作为参数进行传递,那么就可以直接声明为int基本数据类型,但如果要像
对象一样来进行处理,那么就要用Integer来声明一个对象,因为java是面向对象的语言,因此当声明为对象时能够提供很多对象间转换的方式,与一些常用
的方法。自认为java作为一们面向对象的语言,我们在声明一个变量时最好声明为对象格式,这样更有利于你对面向对象的理解。
Integer 是什么类型
Integer是基本数据类型。
Integer以整型数据用来存储整数,整数包括正整数,负整数和零。整型常量采用十进制整数表示。如 1991,0,-123等等都是整型常量。而52.0或131.4都不是整型常量。
Integer变量存储为最接近编译环境的长度,整型数据的长度及其取值范围并不固定,受编译环境影响。在不同的编程语言中做此类型声明时,具体实现方式也可能会有所区别。
扩展资料:
Pascal中1字节由8个二进制位组成。一个整型数Integer用2个字节存储,可以表示-2^15~2^15-1(-32768~32767)之间的整数。大多数整数是有序类型。
Pascal中1字节由8个二进制位组成。一个整型数Integer用2个字节存储,最大的整型数是2^15-1,即是32767,最小值为-2^15,即-32768。大多数整数是有序类型。
32位操作系统中,C语言中的int类型变量占用4字节内存(即32位二进制数),可以表示-2^31~2^31-1(-2147483648~2147483647)之间的整数。
64位操作系统中,C语言中的int类型变量占用4字节内存(即64位二进制数),可以表-2^63~2^63-1(-9223372036854775808~9223372036854775807)之间的整数。
参考资料来源:
百度百科——整型
百度百科——integer
integer和int的区别是什么
integer和int的区别是:变量不同。
1、两个new Integer变量比较,永远是false,因为new生成的是两个对象,其内存地址不同。
Integer i= new Integer(100);Integer j= new Integer(100);System.out.print(i== j);//false
2、Integer变量和new Integer变量比较,永远为false。因为Integer变量指向的是java常量池中的对象,而new Integer的变量指向堆中新建的对象,两者在内存中的地址不同。
Integer i= new Integer(100);Integer j= 100;System.out.print(i== j);//false
3、两个Integer变量比较,如果两个变量的值在区间-128到127之间,则比较结果为true,如果两个变量的值不在此区间,则比较结果为false。
Integer i= 100;Integer j= 100;System.out.print(i== j);//true
Integer i= 128;Integer j= 128;System.out.print(i== j);//false
1、Integer是 int的包装类,int则是 java的一种基本数据类型。
2、Integer变量必须实例化后才能使用,而int变量不需要。
3、Integer实际是对象的引用,当new一个 Integer时,实际上是生成一个指针指向此对象;而 int则是直接存储数据值。
4、Integer的默认值是,int的默认值是0。
关于本次integer和为什么用integer不用int的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。