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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© limengpiao 中级黑马   /  2014-9-10 15:42  /  1928 人查看  /  17 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题,麻烦各位朋友有时间的话帮我解答下

17 个回复

倒序浏览
int是基本数据类型,Integer是基础数据类型包装类。
回复 使用道具 举报
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);//可以

评分

参与人数 1技术分 +1 收起 理由
舍我其谁 + 1

查看全部评分

回复 使用道具 举报
int是基本类型,integer是对象类型,是int的包装类
-128——127之间的integer和intent可以自动转换,也就是在内存中开辟了一个8位的空间在词区间内java提供自动拆箱和自动装箱
回复 使用道具 举报
likeermei 发表于 2014-9-10 22:25
int是基本类型,integer是对象类型,是int的包装类
-128——127之间的integer和intent可以自动转换,也就是 ...

int类型的都可以自动装箱和拆箱的,不仅是-127---+128哦
回复 使用道具 举报
happymouse 发表于 2014-9-10 23:12
int类型的都可以自动装箱和拆箱的,不仅是-127---+128哦

-127---+128  那这个是什么来着,记得视频里面提到过?
回复 使用道具 举报
记得享元模式就好了~
回复 使用道具 举报
likeermei 发表于 2014-9-10 23:30
-127---+128  那这个是什么来着,记得视频里面提到过?

那个是一个字节8位的取值范围
回复 使用道具 举报
however_ 发表于 2014-9-10 17:17
int 是基本类型,直接存数值

  integer是对象,用一个引用指向这个对象

学习啦~谢谢了 之前也一直没有搞懂这个问题~
回复 使用道具 举报
这个。。简单来说  int表示int类型的变量,int和其它几种基本数据类型的数据,都不是对象。所以说Java中并不是所有的东西都是对象。但是不是对象有些时候操作起来就不方便 ,因此将这些基本数据类型的变量封装成了Integer类,也就成了对象了。操作起来就方便了。Integer就是普通的类,只不过操作的是基本数据类型的变量。
回复 使用道具 举报
likeermei 发表于 2014-9-10 23:30
-127---+128  那这个是什么来着,记得视频里面提到过?

是不是在说 byte 取值范围?
回复 使用道具 举报
however_ 发表于 2014-9-10 23:48
是不是在说 byte 取值范围?

记得不是很清楚了,明天晚上给出答案,睡觉了,明天还得上班呢
回复 使用道具 举报
ulopllo 发表于 2014-9-10 23:42
学习啦~谢谢了 之前也一直没有搞懂这个问题~

int 是基本数据类型
Integer是其包装类,注意是一个类。
提供包装类一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
回复 使用道具 举报
however_ 发表于 2014-9-11 00:00
int 是基本数据类型
Integer是其包装类,注意是一个类。
提供包装类一是为了在各种类型间转化,通过各种 ...

噢~了解了~这个例子看着更生动了~谢谢哈
回复 使用道具 举报
ulopllo 发表于 2014-9-11 00:02
噢~了解了~这个例子看着更生动了~谢谢哈

:)哈哈,共同进步
回复 使用道具 举报
我是来学习的
回复 使用道具 举报
二楼说的很明白哦
回复 使用道具 举报
int基本数据类型,Integer引用数据类型
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马