java中怎么样比较字符串相等

如题所述

如果比较值是否相等,一般用equals()方法
例如:
第一种情况:
String str1 = "aa";
String str2 = "aa";
像这种,用str1 == str2 或 str1.equals(str2)都可以;
第二种情况:
String str1 = new String("aa");
String str2 = new String("aa");
像这种,就只能用str1.equals(str2);返回的才是true,用str1 == str2返回的就是false;
所以比较字符串是否相等最好用equals()方法
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-08
==比较字符串是否引用同一地址,如果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,但是用==比较不相同。本回答被提问者采纳
第2个回答  2016-08-08
str1.equals(str2),返回boolean
第3个回答  2016-08-08
str1.eq(str2)
返回true或者false
相似回答