黑马程序员技术交流社区
标题:
Integer与int的区别
[打印本页]
作者:
刘丽娜
时间:
2012-10-30 19:55
标题:
Integer与int的区别
本帖最后由 刘丽娜 于 2012-10-31 19:49 编辑
Integer与int的区别都有哪些?
作者:
奋斗的青春
时间:
2012-10-30 20:04
本帖最后由 吴愿涛 于 2012-10-30 20:05 编辑
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-10-30 20:42
我的理解是java是面向对象的,但是其中也会用到面向过程,而int作为局部变量和控制逻辑,一方面体现了面向过程的思想,但是由于java是面向对象的,所以很多的方法的设计都体现了面向对象的思想,而面向对象有一个基类Object。所以Integer是对int进行了封装的Object的子类。希望对你有用。
作者:
崔政
时间:
2012-10-30 20:52
int 是基本数据类型
Integer是其包装类,注意是一个类。
为什么要提供包装类呢???
一是为了在各种类型间转化,通过各种方法的调用。否则 你无法直接通过变量转化。
比如,现在int要转为String
int a=0;
String result=Integer.toString(a);
在java中包装类,比较多的用途是用在于各种数据类型的转化中。
如:
//通过包装类来实现转化的
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-10-30 20:53
Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。Int是java的原始数据类型,
Integer是java为int提供的封装类。Java为每个原始类型提供了封装类。
作者:
静等花开
时间:
2012-10-30 22:21
首先,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-10-31 15:34
静等花开 发表于 2012-10-30 22:21
首先,int是基本类型,直接存数值,integer是对象,用一个引用指向这个对象。
al.add(n); 可以吧 自动装箱呢
作者:
刘丽娜
时间:
2012-10-31 19:49
谢谢给位的回复
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2