Это метод compareTo
класса, реализующего интерфейс Comparable
(см. https://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html). Возвращаемое значение compareTo
определено как 0
, если объекты идентичны, < 0
, если аргумент лексикографически больше, и > 0
, если аргумент меньше.
Результат сравнения объекта Name
, который у вас здесь, делегирован методу compareTo
атрибута familyName
. Это означает, что атрибут familyName
текущего объекта Name
сравнивается с атрибутом familyName
аргумента. Вторая проверка compareTo
выполняется только в том случае, если атрибуты familyName
обоих экземпляров объекта Name
идентичны. Если это так, вместо этого сравнивается firstName
.
Он делегирует метод 'compareTo' строки. – Carcigenicate
Какая часть непонятна? – shmosel
Делегирование в класс строки в контексте бизнес-логики, если имена семей одинаковы, а затем сравниваются по первым именам. – varra