java中可以用==来比较两个字符串是否相等吗

不可以。

==比较字符串是否引用同一地址,如果2个字符串是同一个对象,那可以用==,如果不是同一个对象,只是比较内容是否一致,则不可以用==。

比如:

String s1 = "abc";
String s2 = "abc";
System.out.println(s1 == s2); // true,因为s1和s2是同一个字符串常量abc的引用,是同一个对象地址,所以相同
 
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2);  // false,因为s1和s2是两个不同的对象,虽然字符串值都是abc,但是用==比较不相同。

 

posted on 2018-10-23 16:13  养乐多。  阅读(850)  评论(0编辑  收藏  举报

导航