Страницы

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

вторник, 9 октября 2018 г.

Точки в конструкторе java

Есть конструктор
public CustomizedComparator(Comparator... comparators) { this.comparators = comparators; }
Вопрос в том, что значат эти три точки в нем?


Ответ

Это конструктор с переменным числом аргументов типа Comparator
В вашем классе поле this.comparators вероятно имеет тип Comparator[] - то есть массив компараторов.
Вызывать такой конструктор вы можете, например, такими способами:
CustomizedComparator();
CustomizedComparator(comparator);
CustomizedComparator(intCompataror, longComparator, stringComparator);
и так далее.
По сути это является синтаксическим сахаром для передачи массивов в методы/конструкторы.

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

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