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

2024年11月29日 08:02
有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