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

2024-11-29 08:02:10
推荐回答(4个)
回答1:

如果比较值是否相等,一般用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()方法

回答2:

==比较字符串是否引用同一地址,如果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,但是用==比较不相同。

回答3:

str1.equals(str2),返回boolean

回答4:

str1.eq(str2)
返回true或者false