黑马程序员技术交流社区
标题:
int 和 Integer的区别是什么
[打印本页]
作者:
王龙彪
时间:
2012-7-22 14:15
标题:
int 和 Integer的区别是什么
本帖最后由 王龙彪 于 2012-7-22 14:19 编辑
public class ClassTest
{
public static void main(String[] args)
{
compareInt();
}
//int 和 Integer 的区别
public static void compareInt()
{
int x = 4;
Integer y = 8;
Class c1 = int.class;
Class c2 = Integer.class;
sop("int.class:", c1);
sop("Integer.class:", c2);
}
public static void sop(Object... object)
{
for(Object o : object)
System.out.print(o);
System.out.println();
}
}
复制代码
输出结果是:
int.class:int
Integer.class:class java.lang.Integer
int 和 Integer使用的不是一个class文件吗?
还有那个class字段哪来的啊?Object类里没有,API里也没找到
作者:
李东升
时间:
2012-7-22 14:33
int 是基本数据类型,声明使用直接int 变量名=值就可以了。
Integer是int的封装类型,声明必须用new关键字Integer 变量名= new Integer(值),从这里可以看出int是基本类型,而Integer是对象,也就是类的实例,
作者:
李菁
时间:
2012-7-22 14:40
int是基本数据类型,直接存数值。Integer是对象,用一个引用指向这个对象。Integer是int的封装类
int和Integer不能够互用,因为他们两种不同的数据类型
作者:
徐帅
时间:
2012-7-22 15:17
int是基本数据类型,Integer是其包装类,java是面向对象的语言,所以将基本数据类型
进行包装成一个类,操作更灵活方便,其他相应的包装类有,short -Short,char-character
byte-Byte,long-Lang,float-Float,double-Double,blooean-Blooean
在这些包装类中提供了一些静态方法对基本类型
数据进行操作,特别是在在各种数据类型转化时,
例如Integer类中提供了将字符与为int型数据互相转化的的方法,parseInt(),和toString()方法
int num = Integer.parseInt("88");还有进制的转化方法valueOf()
int num2 = Integer.valueOf(String s, int radix);
当然在jdk1.5之后 有了自动装箱与拆箱,实现了Integer与int数据之间的自动转换
比如 :Integer x = new Integer(4) ; 与 Integer x = 4 ;(自动装箱)是等价的
x = x +2 ;(自动拆箱) 变成了 int类型。
作者:
王璐
时间:
2012-7-22 15:30
从头跟你说下,
Class('c'要大写)类是一个描述java类的类,比如说你要描述一个学生,可以定义一个Student类,
在java中万物皆对象,那么什么类来描述这个Student类,就是这个Class类。
Class类的实例是一份内存中的字节码文件(绝不是源代码编译后的.class文件)。以下是API的述:
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
int.class和Integer.class绝不是一个。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2