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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 李见黎 中级黑马   /  2012-3-26 20:28  /  2457 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int和Integer 有什么区别?在张老师的7k面试视频中有提到,没有弄太明白。

9 个回复

正序浏览
int是基本数据类型,integer是引用数据类型的,后者是对前者的封装,
回复 使用道具 举报
杨波 中级黑马 2012-3-26 22:23:58
9#
   Java中int和Integer的区别:
  int 是基本类型,直接存数值。
  integer是对象,用一个引用指向这个对象。
  1.Java 中的数据类型分为基本数据类型和复杂数据类型
  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);//可以
回复 使用道具 举报
郑涛 中级黑马 2012-3-26 22:11:42
8#
int为基本数据类型中的整形,取值范围是2的-31次方到2的31次方减1.Integer是int对应的基本数据类型包装类。把基本数据类型封装成对象的好处是,可以在对象中定义更多的属性和行为对基本数据值进行操作。如取得最大最小值,也就是取值范围可以用Integer.MAX_VALUE() 和Integer.MIN_VALUE()得到。
回复 使用道具 举报
int 是基本类型,直接存数值。
integer是对象,用一个引用指向这个对象。
比如:
ArrayList A=new ArrayList();
int n=10;
Integer in=new Integer(n);
A.add(n);//不可以
A.add(in);//可以
回复 使用道具 举报
int是基本数据类型中的值类型;Integer是对基本数据类型int进行的封装,是类类型,也就是引用类型,
回复 使用道具 举报
1.Integer 是对象类型 int是原始类型
2.如果在数据库操作中某数值列允许为null的话,那接受该列数据的类型就只能为
Integer,而不能为int,所以在一般性的持久化对象中尽量少地使用基本类型,
除非确定它不会为空。
3.类可以是null 但是基本数据类型不能为空
回复 使用道具 举报
int是基本数据类型中的值类型;
Integer是对基本数据类型int进行的封装,是类类型,也就是引用类型,比int具有更强大的功能。
int和Integer之间可以相互赋值和运算,因为虚拟机内部自动进行了装箱(值类型转换成引用类型)和拆箱(引用类型转换成值类型)的操作。
回复 使用道具 举报
简单来讲:
int,长度不可变
Integer,长度可变。


回复 使用道具 举报
int 定义基本数据类型
Integer 定义对象 有很多属性和fafang,看Api
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马