Java中int和Integer
答案:5 悬赏:60
解决时间 2021-04-22 05:51
- 提问者网友:霸道ぁ小哥
- 2021-04-21 05:44
他们的区别就是调用方法啦,这我知道。但是俗话说Java里一切皆对象,int可以定义变量,int a,说明int也是个类。既然int和Integer都是类了,为何不用其中一个,用二个?这么麻烦?
最佳答案
- 二级知识专家网友:糜废丧逼
- 2021-04-21 06:26
java.lang.Integer是一个类.对它的操作要通过类的方法
int是JAVA缺省的8中基本数据类型之一.不是类的对象.
int是基本数据类型,Integer是对int进行了封装的一个类。
声明为int的变量不需要实例化,声明为Interger的变量需要实例化
int是基本类型,Integer是包装类,也就是类。
Integer 是比int 更高级的 数据类型 为什么java中使用int 而不像vb中那样使用Integer
int是面向机器底层的数值类型,是Primitive类型的数据类型,而Integer是int的Warpper类,是面向对象的即OOP的对象类型。int 一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方,比如Map的Key与Value,List与Set的Element若要保存数值信息都要把int包装成Integer对象使用。
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
int 一般做为数值参数就够了
integer 一般做类型转换的时候用的较
int是JAVA缺省的8中基本数据类型之一.不是类的对象.
int是基本数据类型,Integer是对int进行了封装的一个类。
声明为int的变量不需要实例化,声明为Interger的变量需要实例化
int是基本类型,Integer是包装类,也就是类。
Integer 是比int 更高级的 数据类型 为什么java中使用int 而不像vb中那样使用Integer
int是面向机器底层的数值类型,是Primitive类型的数据类型,而Integer是int的Warpper类,是面向对象的即OOP的对象类型。int 一般只用在数值计算中,而Integer是用在Java的其它要使用对象的地方,比如Map的Key与Value,List与Set的Element若要保存数值信息都要把int包装成Integer对象使用。
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型 封装类
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。
int 一般做为数值参数就够了
integer 一般做类型转换的时候用的较
全部回答
- 1楼网友:承载所有颓废
- 2021-04-21 09:33
int不是对象,是java原始的数据类型,它默认值为0.
Integer是个对象,它有自己的方法,默认值为NULL。
- 2楼网友:统治我的世界
- 2021-04-21 08:34
有点蒙,原来就知道int类型是放在栈空间的,Integer是作为对象放在堆空间的;
两个并存,我想原因有两个 ( 个 人 观 点 ) : 1\java是从C过来的,所以把int也带过来了,这是历史原因; 2\虽说java是面向对象的,但是组成对象的基本类型还是要有的吧,对象又不能直接放在栈空间的.
还有一个原因,java多线程机制中,每个线程可以有独立的栈空间但是他们又共享堆空间, 作为计算参数的int类型放在栈空间中显然不合适。
乱说的,呵呵,只是想交流下,其实JAVA很多东西是很矛盾,自己建立的不久又推翻了,看看API里这么多废弃的方法就知道了。
- 3楼网友:眠于流年
- 2021-04-21 08:18
int 是基本数据类型
integer是个泛型,它是一个封装类,里面封装的就是int这种基本数据类型。目地就是为了可以把这个创建它的对象。
通俗点说:int就是一个茅坑,但现在它是露天的,那试问谁敢再它的上面运行拉屎这种方法。而integer就是给在这个茅坑上起了个房子,把这个茅坑封装起来变成了厕所,这样你才能在里面拉屎。
- 4楼网友:安稳不如野
- 2021-04-21 07:43
Integer是int的封装类,里面有很多进行处理的静态方法
两者的区别:
Integer是对象而int不是,内存的分配位置也不一样
int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。
实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法;
另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理。
明白了吗?
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯