2015-09-28 4 views
2
private static Coordinate[] getCircleCoordintaes() { 
    Coordinate coordinates[] = {new Coordinate(0, 0)}; 
    return coordinates; 
} 

Над программой работает отлично. В приведенной выше программе для возвращения массива координат первой инициализации массива , используя эту строкуВозвратный массив из метода - java

Coordinate coordinates[] = {new Coordinate(0, 0)}; 

, а затем возвращают координаты.

Но когда я пытаюсь вернуться прямо под линией, тогда возникает исключение.

{new Coordinate(0, 0)} 

На самом деле я пытаюсь найти способ возврата координат массива напрямую. Я хочу пропустить шаг назначения. Может быть, я делаю что-то неправильно.

Как вернуть этот массив напрямую? Любое предложение?

+1

'возвращает новые координаты [] {новые координаты (0, 0)};'? Если вам нужна помощь в разрешении исключения, вам нужно точно сказать, что такое исключение ... – JonK

ответ

10
return new Coordinate[] { new Coordinate(0, 0) } 

Выработать конструкт вы используете ({new Coordinate(0, 0)};) называется Array initilizer и в соответствии с JLS могут быть использованы только в декларации или в качестве части Array creation expression.

Инициализатор массива может быть указана в декларации (§ 8.3, §9.3, §14.4), или как часть выражения создания массива (§15.10), чтобы создать массив и предоставить некоторые начальные значения ,

ArrayInitializer: 
    { VariableInitializersopt ,opt } 
+0

зачем возвращать новую координату [] {new Coordinate (0, 0)}? вы создаете необработанный объект, мы можем активировать это, возвращая новую координату [] {0, 0}; –

+3

@Ankushsoni Вы создаете и возвращаете массив объектов Coordinate в своем примере (предположим, что это объекты, удерживающие x и y). Но эта 'новая координата [] {0, 0}' пытается создать массив координат и назначить ему два значения int (0). Поэтому этот фрагмент кода не будет компилироваться. –

Смежные вопросы