Wie übergebe ich die Argumente an die Methode in Java, wie f (* args) in Python?

8

In Python kann ich tun:

%Vor%

Ist das in Java möglich?

zu klären - f hat eine Argumentliste variabler Länge.

    
mik01aj 26.08.2010, 08:08
quelle

4 Antworten

4

Natürlich sollten Sie genau das mit vararg-methods . Wenn Sie sich Gedanken über Mehrdeutigkeiten machen, wenn es um Argumente wie Object... geht, sollte dieser Codeabschnitt klarstellen:

%Vor%

Ausgabe:

%Vor%

Sie können das nicht für eine Nicht-Vararg-Methode tun. Eine Nicht-Vararg-Methode hat jedoch eine feste Anzahl von Argumenten, also sollten Sie

tun können %Vor%

Außerdem gibt es keine Möglichkeit, den Compiler die Situation für überladene Methoden basierend auf der Größe oder dem Typ des Arrays lösen zu lassen.

    
aioobe 26.08.2010, 08:21
quelle
4

Eine Methode kann mit einem varargs-Parameter deklariert und mit einem Array aufgerufen werden, wie es von anderen Antworten vorgeschlagen wird.

Wenn die Methode, die Sie aufrufen möchten, keinen Varargs-Parameter hat, können Sie etwas ähnliches mit Introspektion tun, obwohl es ein wenig klobig ist:

%Vor%     
Ian Parkinson 26.08.2010 08:36
quelle
1

Es gibt zwei Möglichkeiten, varargs in Java zu verwenden

%Vor%

Oder

%Vor%

In meinem Beispiel ist es mit string, aber Sie können es auch mit int tun.

Um sie anzurufen (dies funktioniert bei beiden),

%Vor%

oder

%Vor%     
Colin Hebert 26.08.2010 08:10
quelle
0

Hier haben wir Argumenten an die Methode beim Methodenaufruf übergeben, siehe das folgende Beispiel,

überprüfen Sie die Quelle

Beschreibung für das Beispiel ist unten;

Dort haben wir eine int-Variable mit dem Wert 10, es ist eine lokale Variable der Methode. Dann rufen wir unsere Methode m (int x) in der print-Anweisung auf. dann gibt es in der m (int x) eine int-Variable des Parameters int, diese x ist auch eine lokale Variable der Methode. Sie können nur innerhalb dieser Methode darauf zugreifen. Dann drucken Sie innerhalb der Methode den Wert von x, was 10 ist, weil beim Methodenaufruf ein Argument übergeben wird, das den Wert 10 enthält. Der Wert 10 wird der lokalen Methode x der Methode zugewiesen, die innerhalb des Methodenparameters deklariert wird. Wenn wir jetzt zum Drucken von x aufrufen, wird 10 gedruckt.

Dann erstellen Sie eine andere Methode lokale Variable und fügen Sie einen Wert zu X-Wert und zuweisen und gibt diese Variable zurück. Sie geben einen Wert zurück, also überprüfen Sie, ob diese Methode nicht void ist, und hat int return type seit 10 in einem int.

Da Ihre Methode in der print-Anweisung geschrieben ist. Ihr Rückgabewert wird auch bei diesem Programm gedruckt. Also unten ist der Code.

%Vor%

Ausgabe:

%Vor%     
user260203 21.06.2014 16:38
quelle