Метод compareTo используется для сортировок. Рассмотрим пример:

public class Main {
	
	static void getUnicodeForString(String myString) {
		System.out.println("String = " + myString);
		for (int i = 0; i < myString.length(); i++) {
			System.out.println("ASCII код символа " + myString.charAt(i) + " = " + myString.codePointAt(i));
		}
		System.out.println();
	}
	public static void main(String[] args) throws Exception {

		String s1 = "aaa";
		String s2 = "aNNN";
		getUnicodeForString(s1);
		getUnicodeForString(s2);
		
		System.out.println(s1.compareTo(s2));
		

	}	

}

Метод codePointAt возвращает ASCII код символа.
Вывод на консоль

String = aaa
ASCII код символа a = 97
ASCII код символа a = 97
ASCII код символа a = 97

String = aNNN
ASCII код символа a = 97
ASCII код символа N = 78
ASCII код символа N = 78
ASCII код символа N = 78

19

Почему вывелось 19 ? Сравниваем первые символы в строках «aaa» и «aNNN». Они равны, т.к. a = a, дальше сравниваем
а и N. ASCII код символа a = 97, ASCII код символа N = 78. От 97 — 78 = 19. Вот поэтому на консоль и вывелось 19
Если на консоль выведется 0, это значит, что строки равны.

Реклама