包装器类 自动装箱 取消装箱 这三个名词是什么意思?谁教我一下 应该怎么理解。

livehejie 2008-01-31 09:21:50
包装器类 自动装箱 取消装箱 这三个名词是什么意思?谁教我一下 应该怎么理解。


Float i = new Folat("3.14f");
Float i = Float.valueOf("3.14f");
这两种写法 有区别吗?

...全文
268 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
imA 2008-02-01
  • 打赏
  • 举报
回复
还有什么不明白的,就是将包装器类行自动转换成元数据类型啊
livehejie 2008-01-31
  • 打赏
  • 举报
回复
还是有点不明白,JAVA里的 取消装箱 是什么意思啊?能再讲讲吗?
imA 2008-01-31
  • 打赏
  • 举报
回复
Integer j = 10; //这个是装箱
int i = new Integer(10);//这样就是取消装箱
  • 打赏
  • 举报
回复
这两种写法没有区别,在内部new Float(String)就是按Float.valueOf(String)来实现的。
livehejie 2008-01-31
  • 打赏
  • 举报
回复
Integer j = new Integer("10"); //这个是不是装箱?
int i = 10;//这样就是取消装箱吗?

还有
Float i = new Folat("3.14f");
Float i = Float.valueOf("3.14f");
这两种写法 有区别吗?
imA 2008-01-31
  • 打赏
  • 举报
回复
包装器类就是java中元数据类型的对象类(元数据类型有byte、char、int、long、float、double),它们对应的包装器类为(Byte、Character、Integer、Long、Float、Double)
因为元数据类型不能作为对象看待没有对象所具有的属性和行为(也就是方法),所以针对它们开发了它们的包装类,这些包装类可以被看成是对象。
自动装箱/拆箱就是从jdk1.5开始提供自动在包装器类和元数据类型间的转换,比如Integer i=1;(在jdk1.5前需要显式地转换,如Integer i=new Integer(1))
yuanqingfei 2008-01-31
  • 打赏
  • 举报
回复
包装器类是Java对不是所有变量都是对象做的一种补偿,int,long等基础变量都不是对象,但是可以和它们对应的包装型对象进行转换,这种转换在java1.5后就称作自动装箱,因为不需要人为介入了。比如:

Integer i = 10;//ok
int j = i; //ok

而在1.5之前是不可以这么做的

Integer j = new Integer("10"); //ok
Integer j = new Integer(10); //ok
int i = j.intValue();//ok

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧