为什么不用str==" "来判断两个字符串是否相等?
6 个解决方案
#1
equal 用来判断两个字符串的内容是否相同
== 用来判断两个字符串的地址是否相同,就是说,如果两个字符串的内容即使相同,但如果不是引用同一个地址下的string,判断结果也是false
String s1 = new String("abc");
String s2 = new String("abc");
s1==s2 =>false
s1.equal(s2) =>true
String s1 = "abc";
String s2 = "abc"; //s1 和s2 引用了同一个地址的字符串
两个判断就都是true了
== 用来判断两个字符串的地址是否相同,就是说,如果两个字符串的内容即使相同,但如果不是引用同一个地址下的string,判断结果也是false
String s1 = new String("abc");
String s2 = new String("abc");
s1==s2 =>false
s1.equal(s2) =>true
String s1 = "abc";
String s2 = "abc"; //s1 和s2 引用了同一个地址的字符串
两个判断就都是true了
#2
楼上正解:)
public class Equal {
public static void main(String[] args) {
String a = new String("abc");
String b = new String("abc");
System.out.println("a==b?");
System.out.println(a==b);
System.out.println("a.equals(b)");
System.out.println(a.equals(b));
}
}
a==b?
false
a.equals(b)
true
public class Equal {
public static void main(String[] args) {
String a = new String("abc");
String b = new String("abc");
System.out.println("a==b?");
System.out.println(a==b);
System.out.println("a.equals(b)");
System.out.println(a.equals(b));
}
}
a==b?
false
a.equals(b)
true
#3
明白,结帐
#4
equals的默认实现不是用==的么
#5
只有up了
#6
ding
#1
equal 用来判断两个字符串的内容是否相同
== 用来判断两个字符串的地址是否相同,就是说,如果两个字符串的内容即使相同,但如果不是引用同一个地址下的string,判断结果也是false
String s1 = new String("abc");
String s2 = new String("abc");
s1==s2 =>false
s1.equal(s2) =>true
String s1 = "abc";
String s2 = "abc"; //s1 和s2 引用了同一个地址的字符串
两个判断就都是true了
== 用来判断两个字符串的地址是否相同,就是说,如果两个字符串的内容即使相同,但如果不是引用同一个地址下的string,判断结果也是false
String s1 = new String("abc");
String s2 = new String("abc");
s1==s2 =>false
s1.equal(s2) =>true
String s1 = "abc";
String s2 = "abc"; //s1 和s2 引用了同一个地址的字符串
两个判断就都是true了
#2
楼上正解:)
public class Equal {
public static void main(String[] args) {
String a = new String("abc");
String b = new String("abc");
System.out.println("a==b?");
System.out.println(a==b);
System.out.println("a.equals(b)");
System.out.println(a.equals(b));
}
}
a==b?
false
a.equals(b)
true
public class Equal {
public static void main(String[] args) {
String a = new String("abc");
String b = new String("abc");
System.out.println("a==b?");
System.out.println(a==b);
System.out.println("a.equals(b)");
System.out.println(a.equals(b));
}
}
a==b?
false
a.equals(b)
true
#3
明白,结帐
#4
equals的默认实现不是用==的么
#5
只有up了
#6
ding