Java-Arrays als Parameter

8

Können Sie ein neues Array als Methode übergeben und haben immer noch Daten in diesem Array?

Zum Beispiel habe ich diese Methode: foo(String[]) , und ich möchte es so nennen foo(new String[] s = {"String1", "String2"}) . Aber das ist kein gültiges Java.

    
Anonymous Person 29.10.2011, 05:19
quelle

5 Antworten

18

Dies ist ein "gültiger Java-Weg" (wie in, es kompiliert und macht, was Sie wollen):

%Vor%

Wenn Sie die Möglichkeit haben, diese Methode zu ändern, können Sie auch erwägen, die Methode zu ändern, um eine varargs Argument:

%Vor%

Dann können Sie es wie folgt verwenden, ohne ein Array explizit erstellen zu müssen:

%Vor%

Folgendes gilt dann auch:

%Vor%

und

%Vor%

und noch mehr.

    
BalusC 29.10.2011, 05:25
quelle
4

Wenn Sie versuchen, eine lokale Variable s zu erstellen und sie beizubehalten, können Sie keine Variable innerhalb eines Methodenaufrufs deklarieren. Sie müssen es zuerst außerhalb des Anrufs deklarieren:

%Vor%

Sie konnten s innerhalb des Aufrufs initialisieren, aber ich sehe keinen Grund dafür, und es sieht wirklich schlecht aus:

%Vor%     
BoltClock 29.10.2011 05:22
quelle
2

Wenn Sie nur den Wert übergeben möchten und die Variable s nicht mehr benötigen, tun Sie das wie folgt:

%Vor%     
nfechner 29.10.2011 05:26
quelle
0

Sie können keine Variable deklarieren, aber Sie können ein Array übergeben:

%Vor%

Wenn Sie später auf das gleiche Array verweisen möchten, müssen Sie es vor dem Aufruf deklarieren.

    
Dave Newton 29.10.2011 05:26
quelle
0

Du könntest einfach foo machen (new String [] {"String1", "String2"})

    
Saurabh 29.10.2011 05:29
quelle

Tags und Links