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, и в этой строке я получу false, но если я не добавлю пробела, я получу true:
System.out.println(string2.substring(0, string3.length()) == string3);
Почему строка 1 должна давать мне false, а строка 6 - true, но если я добавляю пробел в string2, это false ..
Спасибо =)