Страницы

Поиск по вопросам

пятница, 20 декабря 2019 г.

Каков принцип работы метода compareTo()?

#java #сравнение


Кто может объяснить принцип сравнения, когда есть разные варианты сравниваемых строк,
которые могут отличаться как буквами, так и длиной?
    


Ответы

Ответ 1



Строки в Java(и вообще много где) сравниваются с помощью Лексикографического порядка. О том, что это такое можно почитать так же тут. Общий смысл, по алфавиту. Если говорить именно про класс String, то он реализует интерфейс Comparable в документации подробно описано, что должен возвращать метод compareTo(). Если вкратце, то он определяет порядок элементов. o1.compateTo(o2): > 0 - если o1 должен идти после o2 (в случаем с числами o1>o2, со строками, по алфавиту o2 идёт раньше o1) =0 - если o1 и o2 равнозначны (не обязательно равны! НО, если o1.equals(o2) == true, то желательно, чтобы o1.compareTo(o2) == 0, иначе теряется консистентность) <0 - если o1 должен идти перед o2 (в случаем с числами o1

Комментариев нет:

Отправить комментарий