Нет, длина массива не определена в типе
укажите длину возвращаемого массива
Нет, объявив тип возвращаемого значения метода как массив не включает длину.
Но на самом деле это не имеет значения. Чтобы получить аналогичный эффект:
- Верните неизменяемый
List
, а не массив. - Вызывающий код может просто запросить у списка его размер.
…
return List.of( "Bob" , "Newhart" ) ;
Конечно, вызывающий код может запрашивать у массива его размер, а также запрашивать список. Но использование немодифицируемого списка блокирует этот размер.
Определите класс
Вместо того, чтобы взламывать массив или список, чтобы иметь определенные значения в определенных слотах для неявной передачи значения, определите класс для явно представляют семантику ваших значений.
Records
Новая функция Records для Java 16 (предварительно просмотренная в 14 и в 15 ) делает это чрезвычайно простым.
record Name ( String givenName, String surname ) {}
Таким образом, вы должны вернуть объект этого типа.
…
return new Name( "Bob" , "Newhart" ) ;
Point
пример
В вашем примере определите запись с именем Point
.
record Point( int x , int y ) {}
Создать экземпляр.
…
return new Point( 7 , 42 ) ;
Доступ к данным.
System.out.println( "x = " + myPoint.x() ) ;
x = 7