Иерархия символов в функции compareTo () java - PullRequest
0 голосов
/ 03 апреля 2020

Я новичок здесь, поэтому я не знаю много, есть ли какие-либо разделы для различных вопросов и тому подобное. Заранее прошу прощения за это.

Итак, мой вопрос, может ли кто-нибудь сказать мне иерархию символов или, скорее, строки в функции compareTo () java. В этом коде ...

String s1 = "HELLO";
String s2 = "hello";
int c;
c = s1.compareTo(s2);
System.out.println(c);

Здесь вывод равен -32, что означает, что «H» меньше, чем «h». Поэтому я хотел бы знать список, в котором символы расположены от наивысшего к наименьшему значению. Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

метод compareTo работает следующим образом: -

Syntax : 
int compareTo(String anotherString)
Parameters : 
anotherString :  the String to be compared.
Return Value :  
The value 0 if the argument is a string lexicographically equal to this string;
a value less than 0 if the argument is a string lexicographically greater than this string; 
and a value greater than 0 if the argument is a string lexicographically less than this string.

В вашем случае вы пытаетесь сравнить

String s1 = "HELLO"; // Значение ASCII для H равно 72

String s2 = "hello"; // Значение ASCII для h равно 104

. Он будет сравнивать символ за символом и сравнивать до тех пор, пока символ не станет другим, а затем вернет вычитание обоих значений ASCII, иначе вернет 0.

В вашем случае значения H и h различны, он возвращает вычитание ASCII (H) -ASCII (h) = - 32.

Вы можете ссылаться на другое значение ASCII символа в https://theasciicode.com.ar/ascii-printable-characters/capital-letter-z-uppercase-ascii-code-90.html

0 голосов
/ 03 апреля 2020

Метод compareTo () использует значения Unicode для сравнения строк. Полный список можно найти здесь: https://en.wikipedia.org/wiki/List_of_Unicode_characters

Это может быть полезно для просмотра значений Unicode на изображениях Google для диаграммы.

...