黑马程序员技术交流社区
标题:
什么是java中的包装类 ?
[打印本页]
作者:
奋斗的青春
时间:
2012-11-2 08:05
标题:
什么是java中的包装类 ?
JAVA中数字包装器类是什么意思,原始数据是指什么,拆箱和装箱是什么意思?
作者:
张忠豹
时间:
2012-11-2 08:25
Byte byte
Short short
Integet int
Long long
Boolean boolean
Float float
Double double
Character char
左边包装类,右边基本数据类型。
拆箱:就是将包装类,拆成一个基本数据类型。
装箱:就是将基本数据类型,包装成一个类。
将基本数据类型包装成包装数据类型的原因是:好处更多!
就拿Integer来说,它又Integer.MAX_VALUE字段,而int是表现不出来的。
有toString类型。比用int+""专业。
有将数字字符转化成数字的方法。parseInt
最最重要的一点是:在web开发中,Integer默认值为null,int默认值为0.
如果用它们分别表示一个学生的成绩的话,显然Integer要好一些。
如果用int来表示。0到底代表考试成绩为0呢,还是没来参加考试呢,而Integer
可以用null来表示未参加考试,0代表成绩为0.
(摘自张孝祥老师的java面试宝典)
作者:
李连闯
时间:
2012-11-2 09:57
查到的一段资料:
Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class);
没有自动拆装箱之前(显得比较繁琐):
int i = 10;
Integer it = new Integer(100);
//将int类型转换为Integer类型
it = new Integer(i);
//将Integer类型的对象转换为int类型
i = it.intValue();
JDK自从1.5(5.0)版本以后(简化),引入了自动拆装箱的语法,也就是在进行基本数据类型和对应的包装类转换时,系统将自动进行,
这将大大
方便
程序员的代码书写。
//int类型会自动转换为Integer类型
int i = 10;
Integer it = i;
//Integer类型会自动转换为int类型
i = it;
作者:
静等花开
时间:
2012-11-2 10:15
举个例子吧:
Integer x,y;
x=17;
y=25;
System.out.println(x+y);
为什么当x和y分别被赋予整型值17和25时,编译器会对这些整形值进行装箱操作,装的是什么箱啊,而在println()语句中,x,y被拆箱这是什么意思呢?
17本是一个int型的常量,
Integer x=17;//这一步,就自动把int型17的装入Integer型的x,这叫自动装箱
System.out.println(x);//这里的println只能打印int型,而x是Integer型,而实际上x又被拆封箱成int型并显示,这叫自动拆箱
y同理
作者:
林志进
时间:
2012-11-2 10:45
Java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在Java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相关的方法,Java为每个基本类型都提供了包装类,这样,我们便可以把这些基本类型转化为对象来处理了.这些包装类有:Boolean,Byte,Short,Character,Integer,Long,Float,Void等.
值得说明的是,java是可以直接处理基本类型的,但是在有些情况下我们需要将其作为对象来处理,这时就需要将其转化为包装类了.所有的包装类(Wrapper Class)都有共同的方法,他们是:
(1)带有基本值参数并创建包装类对象的构造函数.如可以利用Integer包装类创建对象,Integer obj=new Integer(145);
(2)带有字符串参数并创建包装类对象的构造函数.如new Integer("-45.36");
(3)生成字符串表示法的toString()方法,如obj.toString().
(4)对同一个类的两个对象进行比较的equals()方法,如obj1.eauqls(obj2);
(5)生成哈稀表代码的hashCode方法,如obj.hasCode();
(6)将字符串转换为基本值的 parseType方法,如Integer.parseInt(args[0]);
(7)可生成对象基本值的typeValue方法,如obj.intValue();
在一定的场合,运用Java包装类来解决问题,能大大提高编程效率。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2