还是“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初学者请教 新手菜鸟 关于三目运算 小问题:我的Java怎么跟Access数据库连不上??求解 编写应用程序,输出以下的菱形 问一道题,谢先! 不知道怎么刚才还好好的,突然就报下面的错误!希望得到大家的帮助啊!55 大家jdk1.5最新版本的下载连接好吗 高手指点, javac 多个文件的问题,谢谢? 这样的功能这样实现啦? 女士要不要优先啊!拜托,因为没有头绪,请各位高手帮帮忙啊,一次只能散一百分,若是不再够再散,写一个JAVA的简单小工具! java VM的运行模式
String b = "Hello, world!";这时候a和b指向同一个String对象,所以 a == b 为 true。
String a = "hello";
String b = "hello";
有时候为了节省资源起见,java会将它们放在同一个地方,因此用==比较出来是相等。但有时候java又无法将其放在同一个地方,因为用==比较是不等。总之,结果是不可预料的。说了这么多废话,其实就一句话:java的字符串比较,只能用equals,而不能用==
顺便提一句,.net里用==是可以的,呵呵.