Page 90 - 4836
P. 90
@Override
public int compareTo(Person o) {
return
getSurName().compareToIgnoreCase(o.getSurName());
}
}
Клас простий, має два поля і методи доступу до даних
полів. у ньому реалізовано метод compareTo, шляхом
порівняння прізвищ у двох екземплярах класу Person. Один
екземпляр - це поточний об'єкт, інший об'єкт Person
передається по об'єктному посиланні. Таким чином поточний
об'єкт порівнюється з іншими і по результату повернення,
судиться чи даний об'єкт більший, менший або ж рівний
іншому. У нашому випадку, в майбутньому, результат
порівняння, буде врахований у класі Arrays у його алгоритмі
сортування (або ж може бути використано у будь-якому
іншому класі, який викликатиме метод compareTo для
порівняння екземплярів класу Person. Це може бути виклик на
зразок такого person1.compareTo(person2)).
У нашій реалізації методу compareTo, для порівняння
прізвищ використано метод compareToIgnoreCase - це метод
класу String, що порівнює два рядки символів (у цьому
випадку порівнюють прізвища).
Також заміщено метод toString, що дозволить нам
виводити прізвище та ім’я при використанні інструкції:
System.out.println (p);
де p – об’єктна змінна, що посилається на екземпляр
класу Person.
Ось клас, в якому використовують екземпляри класу
Person і виводять осіб у відсортованому порядку:
package ua.osvjava.comp;
import java.util.Arrays;
public class usingPerson {
88