本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告

戒除浮躁,读好书,交益友


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:邢红瑞的blog
日志总数:523
评论数量:1142
留言数量:0
访问次数:9701075
建立时间:2004年12月20日




[java语言]java中的Boxing和unboxing
原创空间,  软件技术

邢红瑞 发表于 2007/6/8 16:00:58

最近给替一个朋友出的几道java的面试题,主要是面试java高级工程师,报酬就是晚饭,已经沦落的卖艺的境地。题目很简单   Integer i1 = 100;   Integer i2 = 100;   Integer i3 = 1000;   Integer i4 = 1000;   System.out.println(i1==i2);   System.out.println(i3==i4);很遗憾,没有一个答对的,正确答案是truefalse如果面试者写这样的写是错误的,就算通过。这个的原因要从java5的Boxing和unboxing谈起,boxing就是封装基本类型的对象,unboxing就是转换对象到基本类型。Integer, Long, Float, Double, Short, Character etc.都是这样的类型他们是immutable。Boxing在jdk1.4.2中,必须是// Assigning primitive type to wrapper type   Integer iWrapper = new Integer(10);java5中 // Assigning primitive type to wrapper type   Integer iWrapper = 10;unboxing在jdk1.4.2中,int iPrimitive = iWrapper.intValue();java5中int iPrimitive = iWrapper;下面是基本类型作为对象存储的范围,boolean values true and false All byte values short values between -128 and 127 int values between -128 and 127 char in the range \u0000 to \u007F 如果int values between -128 and 127,VM使用相同的对象,否则创建新的对象。所以这段代码,大家不要奇怪System.out.println(0L == 0);System.out.println(((Long)0L).equals(0));第二行代码是0不等于0因为大家犯这样的一个错误 static private final String LOCK = "LOCK";  void testMethod() {    synchronized(LOCK) {    ...    }  }应该用new,不要直接=,对于int,最好使用int a[0] ,因为array也是对象,不像Integer,a[0]的值可以改变。


阅读全文(5713) | 回复(3) | 编辑 | 精华
 


回复:java中的Boxing和unboxing
原创空间,  软件技术

Nurhachi(游客)发表评论于2007/6/20 17:58:52

为什么在超过一个字节的时候才创建新对象?为什么超过一个字节就不可以共用同一个对象


个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:java中的Boxing和unboxing
原创空间,  软件技术

patrick(游客)发表评论于2007/6/13 23:07:48

good!

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


回复:java中的Boxing和unboxing
原创空间,  软件技术

piper(游客)发表评论于2007/6/13 22:54:11

老大, 我怎么还没有看明白啊,你能不能说的明白点啊?

个人主页 | 引用回复 | 主人回复 | 返回 | 编辑 | 删除
 


» 1 »

发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.336 second(s), page refreshed 144764737 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号