Variables Argument oder Varargsmethoden aus Java

 Variable Argumente sind ein relativ kleines Feature, aber nützlich für einen Entwickler, der sich mit Methode und Array auskennt. Irgendwann haben wir ein Szenario, dass eine Methode eine variable Anzahl von Argumenten annehmen kann und jetzt mit varargs aus der Sprache viel einfacher macht. In diesem Java-Tutorial werden wir sehen, wie variable Argumente es einfach machen, bequeme Methode zu schreiben, die eine beliebige Anzahl von Argumenten akzeptieren kann, perfekte Kandidaten sind sum () und average () Methoden.

 Variable Argumente vor Java 1.5

 Vor Java 1.5 haben Java-Programmierer hauptsächlich zwei Möglichkeiten:

 Aber das Problem dabei ist, wenn er die Methode überlädt und er nicht weiß, wie viele Argumente er hat, wie viele Methoden im Code erstellt werden, dh der Code wird ungeschickt oder wenn er keine ausreichende Methode erstellt hat dann wieder müssen die Codes geändert und eingehalten werden, damit es sich wiederholende Aufgabe ist, die keine gute Programmierungspraxis ist und mehr Wartung erfordert. Jetzt können wir auch für Array gehen, aber ks, warum nicht geben wir diese Aufgabe Java, um ein Array zu erstellen und zu speichern das Element in diesem Array intern zu behandeln und lassen Sie Programmierer frei von diesem, ich denke, mit diesem Gedanken varargs entsteht.

 varargs oder variable Argumente ermöglichen es uns, eine Methode mit variabler Anzahl von Argumenten aufzurufen; bedeutet, dass Sie nur eine Methode definieren und diese Methode mit einem Argument von null oder mehr als null aufrufen.

 Syntax:

 Geben Sie ... Variablenname ein.

 Ellipsen stehen für variables Argument java behandelt variables Argument als Array desselben Datentyps. 3 Punkte werden verwendet, um Variablenargumente in einer Methode zu bezeichnen, und wenn es mehr als einen Parameter gibt, müssen varargs-Argumente die letzte sein, wie unten besser aufgelistet

 Einige Punkte, die bei der Verwendung von varargs beachtet werden sollten:

 Real world Beispiel für Varargs in Java

 Zuerst schauen wir uns ein Szenario der realen Welt an. Angenommen, wir gehen an ein College und nehmen an diesem College Einlass. Es ist nicht wirklich entschieden, dass die Zulassung erfolgt, wie viele Studenten 50 Studenten sein werden oder 100 oder mehr. Also College ist eine Klasse und Zulassung ist eine Prozedur oder Methode, die keine Schüler als Argument akzeptiert. So können wir Varargs oder variable Argumente verwenden.

 Wichtige Punkte im Zusammenhang mit Variablenargumenten oder varargs-Methoden:

 1) Jeder Aufruf der varargs-Methode erfordert das Erstellen und Initialisieren eines anonymen Arrays, das sich auf die Leistung in zeitkritischen Anwendungen auswirken kann. Es gibt eine Alternative der Varargs-Methode, um eine bessere Leistung zu erzielen. Angenommen, Sie haben eine Variable Argument Methode Summe (int ... num) und seine mit 2 Parametern in 90% der Zeit aufgerufen. Um Array-Erstellung und Initialisierung zu vermeiden, können Sie in Java Methodenüberladen verwenden, um zwei Versionen von sum () bereitzustellen, die int anstelle von varargs akzeptieren. Hier ist ein Beispiel einer besseren Performance-Alternative von Varargs für 90% der Zeit

 öffentliche Int-Summe (int a);

 public int Summe (int a, int b);

 öffentliche Int-Summe (int ... num);

 Nun wird die 90% -Zeitmethode ohne Varargs aufgerufen und die 10% -Zeitmethode mit Variablenargument wird aufgerufen.

 2) Ein Beispiel für eine Variable-Argument-Methode aus JDK ist Arrays.asList (T ... args), mit dem das Array vor JDK 1.5 in ArrayList konvertiert wurde, das aber in JDK 1.5 unterstützt wurde, um variables Argument zu unterstützen. Jetzt können Sie diese Methode auch aufrufen, indem Sie so viele Strings oder Objekte wie gewünscht übergeben und eine Listendarstellung im laufenden Betrieb erstellen. Es ist einer der schnellsten Weg, um Strings in Liste z.

 Liste listOfString = Arrays.asList ("Rot", "Weiß", "Blau");

 3) Ein weiteres Beispiel für varargs-Methoden ist das Paket java.lang.reflect. Reflection verwendet eine Vielzahl von Variablenargumenten, um die überladene Methode dynamisch aufzurufen. Methodenklasse verwendet variables Argument, um die korrekte Version der überladenen Methode zu erhalten. Method.getMethod (String name, Class ... parameterTypes) verwendet das letzte Argument als Parametertyp, der ein variables Argument ist und eine beliebige Anzahl von Parametern akzeptieren kann. Dies wird verwendet, um die Methode anhand des Namens mithilfe der Reflektion aufzurufen.

 4) Wenn Sie an einem Legacy-Projekt arbeiten, das nicht auf Java 1.5 oder höher läuft, können Sie weiterhin variable Argumentmethoden implementieren, indem Sie anonyme Array- oder Collection-Klassen wie ArrayList oder HashSet verwenden. Sowohl Array- als auch Auflistungsklassen können die Anzahl der Argumente in eine umbrechen. Das Verwenden des Sammlungs-Frameworks hat auch einen zusätzlichen Vorteil in Bezug auf eine reichhaltige API, z. sinnvolle toString () Methode, Iterationsunterstützung etc.