String string1 = "Hi there";
String string2 = "Hi";
String string3 = "Hi";
System.out.println(string1.substring(0, string2.length()) == string2); //1
System.out.println(string1.substring(0, string2.length()).equals(string2)); //2
System.out.println(string1.substring(0, string2.length()).compareTo(string2)); //3
System.out.println(string2 == string3); //4
System.out.println(string2.substring(0) == string3); //5
System.out.println(string2.substring(0) == string3.substring(0)); //6
给出输出:
false
true
0
true
true
true
我真的不明白第一句话,为什么它给了我错误?
如果我在字符串2中添加一个空格,这一行将变为假,但如果不添加空格,则变为真:
System.out.println(string2.substring(0, string3.length()) == string3);
为什么第1行给我的值应该是假的,但第6行是真的,但是如果我在第2行加一个空格,那就是假的。
谢谢=)