A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 张亚军 中级黑马   /  2013-7-23 23:21  /  1849 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Integer和int有什么区别啊???

评分

参与人数 1黑马币 +3 收起 理由
杜光 + 3 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

10 个回复

倒序浏览
Int是java的原始数据类型,Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
原始类型封装类booleanBoolean charCharacter byteByte shortShort intInteger longLong floatFloat doubleDouble
引用类型和原始类型的行为完全不同,并且它们具有不同的语义。引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。对象引用实例变量的缺省值为 null,而原始类型实例变量的缺省值与它们的类型有关。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
Int是java的原始数据类型,Integer是java为int提供装箱拆箱动作后的的封装类
回复 使用道具 举报
integer是对象,int是整形,int是基本数据类型,而integer是对象时引用数据类型。数字可以赋值给integer是因为采用了装箱解箱技术。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
int 是基本类型,Integer是一个int的封装类。
举个例子:int a =9;是直接将9赋值给变量a,这里的a是基础变量;Integer a=9,相当于Integer a = new Integer(9),这里的a是一个对象。
回复 使用道具 举报
1、int是java的原始(或说基本的)数据类型;而Integer是java为int提供的封装类,是int的扩展,定义了很多的转换方法;  
2、Java为每个原始类型提供了封装类。在这就不一 一列出了。
3、int和Integer都可以表示某一个数值;
4、就是数据类型进行强制转换的时候,就要进行装箱,如:
         把字符窜类型转换成整形  :  
          String a="123";     int b=Integer.parseInt(a);  

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
{:soso_e130:}



Integer是int的封装类   Java为每个原始类型提供了原始类型封装类。

int是原始类型可以直接存储数值。
integer是对象也是一个类,得用一个引用指向这个对象。


int和Integer是不同的数据类型。不能相互替换使用。

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
貌似该说的都说了。。
回复 使用道具 举报
int 是基本数据类型
Integer是其包装类,注意是一个类。
为什么要提供包装类呢???
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
我写几个demo

//通过包装类来实现转化的
                int num=Integer.valueOf("12");
                int num2=Integer.parseInt("12");
               
                double num3=Double.valueOf("12.2");
                double num4=Double.parseDouble("12.2");
                //其他的类似。通过基本数据类型的包装来的valueOf和parseXX来实现String转为XX
               
                String a=String.valueOf("1234");//这里括号中几乎可以是任何类型
                String b=String.valueOf(true);
                String c=new Integer(12).toString();//通过包装类的toString()也可以
                String d=new Double(2.3).toString();

再举例下。比如我现在要用泛型
List<Integer> nums;
这里<>需要类。如果你用int。它会报错的

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
int是整形基本数据类型,Integer是一个包装类,java在Integer包装类中封装了很多关于整形数据类型的操作方法,主要是方面用户的操作,也是面向对象思想的体现。
到了JDK1.5版本以后java还提供了自动装箱自动拆箱的功能。嘿嘿

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
Integer是int的对象包装类。

由于我们经常会使用int型数据,因此Java将int型数据封装成对象,并提供了一系列操作int型数据的方法,定义了一些有特殊意义的字段。以便程序员使用。

这也是Java语言面向对象的体现。

Integer等包装类的出现,方便了基本数据类型与String类型数据的转换

评分

参与人数 1技术分 +1 收起 理由
杜光 + 1 每天提问并回答问题,是对知识的复习和积累.

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马