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
дает мне выход:Сравнение строк в Java
false
true
0
true
true
true
Я не очень понимаю, первая линия, почему это даст мне ложное?
Если добавить пробел в строку 2 и эту линию я получаю ложные, но если я не добавить никаких пробелов я правда:
System.out.println(string2.substring(0, string3.length()) == string3);
Почему линия 1 дать мне ложные, но строка 6 быть правдой, но если добавить пробел строка2 это ложь ..
спасибо =)
Как это не хватает? http://stackoverflow.com/search?q=Comparing+strings+in+java Разве вы не видели список со всеми ссылками ниже темы, когда вы ввели сообщение с вопросом? Вы потрудились следовать предложенным ссылкам? Почему нет? – BalusC