黑马程序员技术交流社区

标题: Integer和int是什么区别呢? [打印本页]

作者: 吴亨    时间: 2012-2-15 21:53
标题: Integer和int是什么区别呢?
本帖最后由 吴亨 于 2012-2-16 09:10 编辑

  求解释
作者: 马欢    时间: 2012-2-15 22:00
int 是基本类型,直接存数值
integer是对象,用一个引用指向这个对象
1.Java 中的数据类型分为基本数据类型和复杂数据类型
int 是前者>>integer 是后者(也就是一个类)
2.初始化时>>
int i =1;
Integer i= new Integer(1);(要把integer 当做一个类看)
int 是基本数据类型(面向过程留下的痕迹,不过是对java的有益补充)
Integer 是一个类,是int的扩展,定义了很多的转换方法

作者: 许涛    时间: 2012-2-15 22:46
1.区别:int是基本数据类型,8种基本数据类型中的一种。而Integer是包装类,是引用类型。

2.联系:根据Java面向对象的原则,Java将万事万物都视为对象,基本数据类型也不例外。
            于是将8种基本数据类型进行封装,其中int的封装类为Integer。
作者: foxpeter    时间: 2012-2-15 22:53
int是基本类型 Integer是类 基本数据类型的地址在栈空间 而类是在堆空间分配内存
作者: 石德志    时间: 2012-2-15 23:37
一个引用类型,一个是基本类型,Integer是int的包装类,8中基本数据类型都有对应的包装类,两者可以相互转换
作者: 孙汇川    时间: 2012-2-15 23:53
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。它会报错的
作者: 何招俊    时间: 2012-2-16 10:10
int 是JAVA已定义的基本数据类型。JAVA是纯面向对象的,所有数据都封装在类里,Integer就是用来封装int数据的,并且提供了一些常用的对int进行操作,转化的方法。
比如 Integer.parseInt(String string); 就可以把字符串数字变成int型。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2