回 帖 发 新 帖 刷新版面

主题:Java中int和integer的差异

一、Java的数据类型和C/C++有所不同,int与integer实质上来讲是严格的两种数据类型,分别是基本数据类型和复杂数据类型。
二、
int i=1;
integer i = new Integer(1);
这里的Integer实质上是一个类,只是却是对int的扩展,而且定义了很多转换的方法。类似于float Float;double Doublel;string String。
例如,我们需要在ArratList,HaseMap中放东西时,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);//可以 
欢迎咨询重庆甲骨文授权学习中心:02367861932

回复列表 (共2个回复)

沙发

欢迎咨询重庆甲骨文授权学习中心:02367861932

板凳


java 5.0 后,int 类型 可自动打包成 Integer , al.add(n) 此时,n 自动打包生成 Integer(n)为什么不可以?

我来回复

您尚未登录,请登录后再回复。点此登录或注册