Was bedeuten die Drei Punkte in einem Methodenkopf?

Maik.Neumann

Aktives Mitglied
Guten Tag !

Es gibt in Java wohl die Möglichkeit innerhalb eines Methodenkopfes 3 Punkte zu setzen, so wie in diesem Beispiel:

Java:
public void testPrint(Integer i, Auto auto, String... name){
    //do something
}

Was soll das bezwecken? Wofür kann man dieses Konstrukt nutzen?

Danke und Gruß
Maik
 

knilch

Bekanntes Mitglied
Hi,
die 3 Punkte bedeuten, dass eine beliebige Anzahl von Strings mitgegeben werden können.
Innerhalb der Methode wird dann auf alle Strings wie ein Array zugegriffen.
In etwa so
Java:
public void testPrint(Integer i, Auto auto, String... name){
    for (String string: name) {
      // mach was mit jedem stirng;
   }
}
Einsetzen kannst du das, wenn du unterschiedliche viele Strings (oder int, double etc..) in einer Methode mitgeben möchtest.
 
Zuletzt bearbeitet:

Tobse

Top Contributor
Was knlich gesagt hat stimmt alles, nur zur Ergänzung:

Das ganze wird Varargs genannt. Ein Varargs-Argument muss immer das letzte der Methode sein, folgendes ist falsch:
Java:
public void doSomething(String a, Object... b, InputStream c)

Varargs machen auch nur dort sinn, wo die Menge an Argumente wirklich egal ist. Wenn eine Methode 8 doubles bekommen soll dann ist folgendes zu verwenden:
Java:
public void doSomething(double a, double a2, double a3, double a4, double a5, double a6, double a7, double a8)

wohingegen dashier dann einfach irreführend ist:
Java:
public void doSomething(double... a)
{
    if (a.length != 8) // rummeckern
}


Gute Beispiele für Varargs sind printf oder so etwas hier:
Java:
public double average(double... werte)
{
    double sum = 0;
    for (double d : werte)
    {
        sum += d;
    }
    return sum / werte.length;
}
average(2, 4); // 3
average(2, 6, 4, 8, 10); // 6
 

Beatsleigher

Bekanntes Mitglied
Wie meine Vorgänger bereits gesagt haben; es bedeutet, dass eine beliebige Anzahl von Elementen angegeben werden kann.

Das ist zum Beispiel nützlich, wenn du durch mehrere Dateien suchst, oder Prozesse mit vielen verschiedenen Argumenten ausführen willst.

Wenn du damit arbeiten willst, musst du darauf achten, dass das am Ende der Parameter machst:

private void method(String... arg0, String... arg1) != richtig

private void method(String[] arg0, String... arg1) == richtig

Sent from my GT-I9505 using Tapatalk
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Was bedeuten eckige Klammer? Java Basics - Anfänger-Themen 2
B was bedeuten folgende warnungen in eclipse.. Java Basics - Anfänger-Themen 2
L Cannot Find Symbol - Was soll denn das bedeuten?!? Java Basics - Anfänger-Themen 7
E was bedeuten @Zeilen Java Basics - Anfänger-Themen 4
N was soll < > bedeuten? Java Basics - Anfänger-Themen 3
K Warum wird hier nur etwas in eine txt Datei geschrieben und nicht in alle drei (InputStream/OutputStream/Reader/Writer) Java Basics - Anfänger-Themen 1
milan123 das ist meine aufgabe ich hab das problem das bei mir Wenn ich die Richtung der Linien verändern will und drei davon sind richtig, verändere ich die 4 Java Basics - Anfänger-Themen 3
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
K Wie String prüfen ob drei mal das gleiche Zeichen vorkommt? Java Basics - Anfänger-Themen 7
C alle möglichen Kombinationen zweier Ziffern auf drei / vier / und 'n" Stellen Java Basics - Anfänger-Themen 11
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
L Methoden Methode mit drei Rückgabewerten realisieren Java Basics - Anfänger-Themen 3
K drei eindimensionale Arrays in ein zweidimensionales Array Java Basics - Anfänger-Themen 10
H Dreimal die Drei im Array Java Basics - Anfänger-Themen 5
U assertEquals mit drei Parametern? Java Basics - Anfänger-Themen 4
I Drei booleans abfragen Java Basics - Anfänger-Themen 2
N Compiler-Fehler Drei Exceptions in GUIHack für Dreiecke auf MoveButtons Java Basics - Anfänger-Themen 36
M Die drei größten Werte eines Arrays Java Basics - Anfänger-Themen 6
W String von hinten alle drei Zeichen abschneiden und in umgekehrter Reihenfolge ausgeben. Java Basics - Anfänger-Themen 9
P Hintergrundfarbe aus drei Scrollbars Java Basics - Anfänger-Themen 5
J Drei Errors sind drei zuviel! Java Basics - Anfänger-Themen 25
C Mit if Überprüfung von drei Werten durchführen Java Basics - Anfänger-Themen 6
Joy drei- und mehrdimensionales Array deklarieren Java Basics - Anfänger-Themen 9
S drei objekte um 1 Wert erhöhen Java Basics - Anfänger-Themen 15
F Immer nur drei Werte lesen Java Basics - Anfänger-Themen 9
T Probleme bei einen Stack der über drei Dateien funktionieren soll Java Basics - Anfänger-Themen 5
B Problem mit Drei-Gewinnt-Spiel Java Basics - Anfänger-Themen 24
N die ersten drei buchstaben eines Strings ausgeben Java Basics - Anfänger-Themen 2
E Drei zahlen sortieren und in richtiger Reihenfolde ausgeben. Java Basics - Anfänger-Themen 15
S Drei Zahlen sortieren Java Basics - Anfänger-Themen 4
G 523 in Worten fünf zwei drei Java Basics - Anfänger-Themen 10
XWing Random Punkte erstellen mit der Random klasse Java Basics - Anfänger-Themen 15
K Klassen Klasse erstellen, die Punkte eines Koordinatensystems repräsentiert? Java Basics - Anfänger-Themen 3
B Markieren einzelner Punkte in JFreeChart Java Basics - Anfänger-Themen 1
L0MiN Erste Schritte Neue Punkte zu einer Map hinzufügen und dauerhaft speichern? Java Basics - Anfänger-Themen 4
J Punkte im Java-Applet verbinden Java Basics - Anfänger-Themen 4
D Algorithmus für Punkte auf einem Kreis Java Basics - Anfänger-Themen 0
P Punkte anhand 3. Koordinate vergleichen Java Basics - Anfänger-Themen 3
H Punkte werden falsch verbunden Java Basics - Anfänger-Themen 6
M Double Punkte Zeichnen Java Basics - Anfänger-Themen 7
T mehrere Punkte zeichnen ohne löschung Java Basics - Anfänger-Themen 4
J Punkte hinzufügen Tabelle Java Basics - Anfänger-Themen 5
P Pythagoras Baum - Berechnung der Punkte Java Basics - Anfänger-Themen 9
O Punkte auf einem Kreis "wandern" lassen Java Basics - Anfänger-Themen 3
M Polygon Punkte im Uhrzeigersinn sortieren Java Basics - Anfänger-Themen 2
0 Auf Karte in Planquadrate Punkte zeichnen? Java Basics - Anfänger-Themen 2
B Bitte um Hilfe es geht um Array + Punkte wie Dreieck,Fläche etc. Java Basics - Anfänger-Themen 12
T Punkte nicht löschen Java Basics - Anfänger-Themen 14
K Punkte verschieben Java Basics - Anfänger-Themen 6
M Abstand 2er Punkte (Klassen) Java Basics - Anfänger-Themen 11
J punkte verschwinden beim neuzeichnen neuer punkte Java Basics - Anfänger-Themen 11
P Hilfe für JComboBox, bmp einbinden/bestimmte punkte auf bmp Java Basics - Anfänger-Themen 3
Z Punkte, Koordinanten, Geraden zeichnen lassen Java Basics - Anfänger-Themen 8
V String überprüfen, nur Punkte und Zahlen erlaubt Java Basics - Anfänger-Themen 7
P Anzahl der Punkte in einer IP Adresse zählen? Java Basics - Anfänger-Themen 20
B 2D Punkte erstellen und ihre Länge berechnen/Problem this. Java Basics - Anfänger-Themen 3
J Punkte Noten zuweisen Java Basics - Anfänger-Themen 6
G Kann man in einem Dokument alle Kommas in Punkte umwandeln? Java Basics - Anfänger-Themen 10
M Datumsausgabe als String ohne Punkte erzeugen! Java Basics - Anfänger-Themen 5
T Matrix - äußerste Punkte pro Zeile Java Basics - Anfänger-Themen 7
A Punkte automatisch verbinden? Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben