还是“JAVA字符串等于”方面的疑惑 记住两点就可以了:1、==是指两个对象引用变量“指向同一个对象”;2、对于String,如果有new操作或隐含new操作(如xxx.toString()),就会产生“新对象”。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ==判断两个字符串地址是否相同,equals()判断两个字符串内容是否相同. 补充一点,对于字符串常量,比如"a","Hello, world!",Java将只使用一个对象来表示它。例如:String a = "Hello, world!";String b = "Hello, world!";这时候a和b指向同一个String对象,所以 a == b 为 true。 在《Core Java》volumn I中说得很清楚,千万不要用==来比较字符串,而应该用equals来比较。如果用==来比较,将会遇到不可预料的结果,有时候可能相等,有时候可能不等,如:String a = "hello";String b = "hello";有时候为了节省资源起见,java会将它们放在同一个地方,因此用==比较出来是相等。但有时候java又无法将其放在同一个地方,因为用==比较是不等。总之,结果是不可预料的。说了这么多废话,其实就一句话:java的字符串比较,只能用equals,而不能用== 不要用==,用equals,==只会判断地址,因为在oo的思想里,String是一个object,用==只能比较他们的地址,要判断内容一定要用equals.顺便提一句,.net里用==是可以的,呵呵. 最近在看java核心技术的书 有个基础的问题,不明白请帮忙解答。 关于开心农场助手的问题 求JavaLauncher.dll 初哥问3大问题,请入内指导指导 java中能选择多个文件的组件是什么! 请问利用SNMP,如何能让被管理设备执行PING操作! calender如何相减? 如何编译applet 微软微软我恨你,就象老鼠恨猫咪,最新新闻:微软阻碍Java普及 Sun大失所望 女士要不要优先啊!拜托,因为没有头绪,请各位高手帮帮忙啊,一次只能散一百分,若是不再够再散,写一个JAVA的简单小工具! java VM的运行模式
String b = "Hello, world!";这时候a和b指向同一个String对象,所以 a == b 为 true。
String a = "hello";
String b = "hello";
有时候为了节省资源起见,java会将它们放在同一个地方,因此用==比较出来是相等。但有时候java又无法将其放在同一个地方,因为用==比较是不等。总之,结果是不可预料的。说了这么多废话,其实就一句话:java的字符串比较,只能用equals,而不能用==
顺便提一句,.net里用==是可以的,呵呵.