黑马程序员技术交流社区
标题:
int和Integer有什么区别?
[打印本页]
作者:
Spring up
时间:
2012-12-17 15:21
标题:
int和Integer有什么区别?
int和Integer有什么区别?
视频也看了,感觉还是不知道他们的用法?希望能得到容易理解的答案。 谢谢!!
作者:
孙辉辉
时间:
2012-12-17 15:44
int 是基本类型,直接存数值
integer是对象,用一个引用指向这个对象
1.Java 中的数据类型分为基本数据类型和复杂数据类型
int 是前者>>integer 是后者(也就是一个类)
Integer 是对象类型 int是原始类型 适用场合有很大的不同 之所以要把int封装成Integer 型 是因为很多方法参数就只接收对象类型(Object) 还比如 范型 就只支持 对象类型
例如往ArrayList里面add,必须add的是Object而int不是对象,就只能把Integer添加进去
2.初始化时>>
int i =1;
Integer i= new Integer(1);(要把integer 当做一个类看)
int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充)
Integer 是一个类,是int的扩展,定义了很多的转换方法
类似的还有:float Float;double Double;string String等
举个例子:当需要往ArrayList,HashMap中放东西时,像int,double这种内建类型是放不进去的,因为容器都是装 object的,这是就需要这些内建类型的外覆类了。
Java中每种内建类型都有相应的外覆类。
Java中int和Integer关系是比较微妙的。关系如下:
1.int是基本的数据类型;
2.Integer是int的封装类;
3.int和Integer都可以表示某一个数值;
4.int和Integer不能够互用,因为他们两种不同的数据类型;
举例说明
ArrayList al=new ArrayList();
int n=40;
Integer nI=new Integer(n);
al.add(n);//不可以
al.add(nI);//可以
补充
String str = "1";
Integer i = Integer.valueof(str);
(1)调用Integer类中的静态方法valueOf(String)
(2)valueOf方法将传入的参数String转化为int型值
(3)返回该值,如果String并不是纯粹由数字构成即无法转化为数字,则抛出NumberFormatException..
作者:
filter
时间:
2012-12-17 15:44
int是
基本数据类型
,Integer是
基本数据类型
类
Integer num = 3;就创建了一个Integer对象,和普通的类没什么区别,数据会自动拆箱和装箱
但是Integer num1 = 130;这个对象就有区别了,在-128到127之间的数,只要数值相同都是一个Integer对象
绝对值大于128的即使数值相同也不是一个对象了
张老师的基础加强里面讲的很详细
作者:
Kevin123
时间:
2012-12-17 16:03
简单地说就是:
int 是简单数据类型
Integer 是类 java.lang.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,而原始类型实例变量的缺省值与它们的类型有关。同时为了面向对象操作的一致性,这些基本类型都有相应的封装类型:Integer、Short、Long、Byte、Float、Double、Character等。
因为封装类型是对象,所以可以进行相应的很多对象能力函数操作,这样就可以提供很多基本类型难以完成的工作的完成和实现。
你可以通过以下方式来声明该类型。
int 和 Integer 问题
java提供两种不同类型:简单类型和引用类型
int是java的简单类型,Integer是 java为int 提供的封装类(wrapper)。
java为每个简单类型提供了封装类:
boolean-Boolean byte-Byte short-Short char-Char
long-Long float-Float int-Integer double-Double
引用类型和简单类型行为完全不同,并且它们具有不同的语义。
引用类型和简单类型具有不同的特征和用法,这包括大小和速度问题。
引用类型和简单类型有不同的默认值:引用类型默认值为null,简单类型的默认值于本身的类型有关。基本数据类型本身就是一个值
作者:
凊係柈泩
时间:
2012-12-17 17:12
int是java提供的8种基本数据类型之一,这8种数据类型包括了
byte,int,short,long,char,boolean,float,double
这8种数据类型不是面向对象的,为了解决这个不足,java为每一个基本数据类型都
定义了对应的包装类,Integer就是java为int提供的包装类,提供对应图标如下
boolean -->Boolean
char --->Character
byte -->Byte
short -->Short
int -->Integer
long -->Long
float -->Float
double -->Double
int默认是0,而Integer默认是null,
包装类是引用数据类型,方便涉及到对象的操作,包装类包含每种基本数据类型的相关属性,
比如最大值和最小值与相关的操作方法
作者:
依然AI
时间:
2012-12-18 17:19
int 和 Integer 问题
java提供两种不同类型:简单类型和引用类型
int是java的简单类型,Integer是 java为int 提供的封装类(wrapper)。
java为每个简单类型提供了封装类:
boolean-Boolean byte-Byte short-Short char-Char
long-Long float-Float int-Integer double-Double
引用类型和简单类型行为完全不同,并且它们具有不同的语义。
引用类型和简单类型具有不同的特征和用法,这包括大小和速度问题。
引用类型和简单类型有不同的默认值:引用类型默认值为null,简单类型的默认值于本身的类型有关。基本数据类型本身就是一个值
作者:
郭金龙
时间:
2012-12-18 18:06
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int 是java 的原始数据类
型,Integer 是java 为int 提供的封装类。Java 为每个原始类型提供了封装类。
原始类型封装类
booleanBoolean
charCharacter
byteByte
shortShort
intInteger
longLong
floatFloat
doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有
不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当
引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值
为 null,而原始类型实例变量的缺省值与它们的类型有关。
作者:
yuchen208
时间:
2012-12-18 18:50
int是基本类型,是关键字
Integer是引用类型,是类,int的包装类
作者:
高境
时间:
2012-12-19 09:45
大神,都是牛人
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2