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;
等等,可以说Java为每一个基本数据类型都提供相应的对象(外覆类);
将这些基本基本数据类型实现相应的对象 方便了我们使用容器操作,举例说明:当需要往ArrayList,HashMap等容器中放数据的时候,像int,double这种内建类型/基本数据类型是放不进去的,因为容器装的都是 object 对象,这是需要我们这些内建对象的外覆类的。
Java中每种内建类型都有相应的外覆类。
Java中的 int 和 Integer关系比较微妙。
关系如下:
1、int 是基本数据类型(Java的内建类型)
2、Integer是int的封装类
3,、int 和 Integer都可以表示某一个数值;
4、int 和 Integer不能够互用,因为他们是两种不同的数据类型;
举例说明:
[java] view plaincopy
- List arl = new ArrayList();
- int n = 40;
- Integer in = new Integer(50);
- arl.add(n);//报错
- arl.add(in);//正确使用
注:Java 5 引入了自动装箱和自动拆箱的概念。使得开发者不需要注意基本类型如:int long 等基本数据类型 和 对应的对象类型:Integer Long等之间的转换问题。但也是稍微带来了一点需要注意的东西
使用JDK5.0版本以上可以自动拆箱,但是在JDK5.0以下的环境编写一些.java文件,用到JDK5.0以上的环境后可能就会出现转换错误。使用强制类型转换的方法成这样即可:
Integer 转成 int可以用: Integer.parseInt( Integer data);
int转Integer可以用: new Integer( int num) ;
…………………………….