2016-02-29 26 views
6

Jak mogę przywrócić tymczasową tablicę w Javie (aby zapisać linię kodu, bez tworzenia zmiennej).Jak zwrócić tymczasową tablicę int w Javie

Podczas inicjacji, mogę używać

int[] ret = {0,1}; 

Podczas gdy robi zwrot, nie mogę używać

return {0,1}; 

Czy brakuje czegoś lub jest tam siła typ odlewu to zrobić?

Pomysł zastosowania new int[] jako odpowiedzi poniżej. Jaki jest powód, dla którego nie potrzebujemy new int[] podczas inicjacji?

+0

Aby uzyskać szczegółowe informacje, zapoznaj się z [Specyfikacją języka Java] (https://docs.oracle.com/javase/specs/jls/se7/html/jls-10.html). –

+2

Nie musisz wpisywać odpowiedzi na swoje pytanie. Po prostu zaakceptuj odpowiedź, która rozwiązała twoje pytanie, to wszystko. – Tom

Odpowiedz

6

Mam pomysł wykorzystania new int [] w poniższych odpowiedzi. Jaki jest powód, dla którego nie potrzebujemy nowego int [] podczas inicjacji?

Podczas pisania int[] ret = {0,1}; jest to zasadniczo skrót pisania int[] ret = new int[]{0,1};. Z doc:

Alternatywnie, można użyć składni skrótu do tworzenia i zainicjować tablicę:

int[] anArray = { 
    100, 200, 300, 
    400, 500, 600, 
    700, 800, 900, 1000 
}; 

Teraz po powrocie trzeba wyraźnie napisać return new int[]{0,1}; bo nie robisz operacja przypisania (utwórz i zainicjuj zgodnie z dokumentem) do tablicy, a tym samym nie można użyć skrótu. Będziesz musiał utworzyć obiekt za pomocą new.

+0

Dzięki za szczegółową odpowiedź! – newbieSOF

+0

Cieszę się, że pomogło. – Atri

3

Można zrobić coś Podobnie

return new int[]{1,2,3}; 
8

Można zrobić coś znanego jako powracającego anonimowej tablicy (gdyż nie ma nazwy).

Czy

return new int[] {0, 1};

za to ...

5
public int [] return check(){ 
     return new int[] {5,8,3,6,4}; 
    }