Страницы

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

среда, 20 февраля 2019 г.

Как передавать в метод массив фиксированной длины?

Как передавать в метод массив фиксированной длины?
class A { final int length;
void foo(Object[length] objects) {} // ? }


Ответ

Никак. Можно только все значения массива сделать отдельными параметрами метода:
void foo(Object first, Object second, Object third) { }
Также можно использовать проверку длины массива с пробросом исключения в теле метода:
void foo(Object[] objects) { if (objects.length != length) { throw new IllegalArgumentException("Incorrect array size"); } ... }
Но это уже проверка, а не ограничение.

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

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