Я новичок в Java и у меня простой вопрос относительно метода compareTo().
При использовании кода
String Name1 = "alan";
System.out.println(Name1.compareTo("a"));
String Name2 = "bob";
System.out.println(Name2.compareTo("a"));
String Name3 = "carl";
System.out.println(Name3.compareTo("a"));
Я ожидаю, что на выходе будет 0 1 2, вместо этого я получаю 3 1 2
Я знаю, это может показаться простым, но я искренне озадачен. Я бы подумал, что буква «а» в «алан» будет сравниваться с «а» и, таким образом, даст 0. Если бы кто-то мог просто объяснить, я был бы очень признателен.
У меня сложилось впечатление, что compareTo принимает в уравнение только первую букву слова «алан», как это было с «бобом» и «карлом». Если бы я хотел использовать только первую букву, как бы я это сделал? Я намерен расположить эти имена в алфавитном порядке.
0
? а и алан не одно и то же. Почему1
? Почему2
? Вам нужно объяснить свои ожидания, поскольку единственное, что вы можете ожидать, это положительное число. - person Hovercraft Full Of Eels   schedule 18.11.2018substring(0, 1)
- person Hovercraft Full Of Eels   schedule 18.11.2018