Как передавать в метод массив фиксированной длины?
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");
}
...
}
Но это уже проверка, а не ограничение.
Комментариев нет:
Отправить комментарий