作者TonyQ (沉默是金。)
看板java
标题Re: [问题] 关於 "字串 ==" 的用法
时间Thu Jan 20 07:50:07 2011
※ 引述《dream1124 (全新开始)》之铭言:
: ※ 引述《homal (\冏/)》之铭言:
: 请参考这篇
: http://tinyurl.com/4qkf8h6
: 来自良葛格的学习笔记
: http://caterpillar.onlyfun.net/Gossip/JavaGossip-V1/ImmutableString.htm
: : 想请教一下,
: : String x = "hello";
: : String y = "hello";
: : System.out.println( x==y);
: : 电脑输出 true
: : 为何会这样呢?!
: 这是因为JVM内部维护的字串池的缘故
: 宣告 变数y 时,没有产生第二个 "hello" 物件,
: y物件参考到内容为"hello"的字串物件,是来自字串池内已经有的"hello"物件
: 所以用 == 比较是否参考到同一个物件时,会得到 true
但如果这样写 就会是 false ,
这就是为什麽字串比对的时候一般不建议用 == , 而建议用 equals
String x = "hello";
String y = new String("hello");
System.out.println(x==y); //false
--
网页上拉近距离的帮手 实现 GMail丰富应用的功臣
数也数不清的友善使用者体验 这就是javascript
欢迎同好到 AJAX 板一同讨论。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 72.21.245.243
※ 编辑: TonyQ 来自: 72.21.245.243 (01/20 07:50)