Ist es möglich, zwei oder mehr Werte von einer Methode an main in Java zurückzugeben? Wenn ja, wie ist das möglich und wenn nicht, wie können wir das tun?
Wie kann ich mehrere Werte zurückgeben? [duplicate]
Benutzer1089660
Aravind Yarram
Sie können ein Objekt einer Klasse in Java zurückgeben.
Wenn Sie mehr als einen verwandten Wert zurückgeben, ist es sinnvoll, sie in einer Klasse zu kapseln und dann ein Objekt dieser Klasse zurückzugeben.
Wenn Sie nicht verwandte Werte zurückgeben möchten, können Sie die integrierten Containerklassen von Java wie Map, List, Set usw. verwenden java.util JavaDoc des Pakets für weitere Details.
-
Ich würde noch einen weiteren Punkt hinzufügen – halten Sie Ihr zurückgegebenes Objekt unveränderlich (initialisieren Sie es am besten in einem Konstruktor und halten Sie Ihre Felder endgültig).
– Kris
19. Dezember 11 um 13:35 Uhr
-
Sie können ein Objekt zurückgeben, aber wenn Sie so viele Rückgabeobjekte in Ihrem Programm haben, wird der Quellcode kompliziert. für Dinge, die von einer einmaligen Methode zurückgegeben werden, ist es besser, Tupel zu haben. wie c#. Darling C# ist eine großartige Sprache
– EKanadily
22. August 15 um 22:41 Uhr
-
Ich denke, es sollte C # geben
out
oderref
Parameteräquivalent in Java, andernfalls muss ich eine Klasse erstellen, selbst wenn zwei Variablen zurückgegeben werden und für jede Funktion, die mehrere Werte zurückgibt. Wenn wir dem folgen, gibt es für jede Funktion, die mehrere Werte zurückgibt, eine Klasse. Obwohl mitMap
fühlt sich jetzt besser an.– Mahesha999
18. September 15 um 08:52 Uhr
-
Ich würde eine Karte oder ein Set verwenden, um es einfach zu halten 🙂
– Saqib Javed
21. September 17 um 8:10 Uhr
-
Das Zurückgeben von Karten, Listen oder Sätzen (um das Zurückgeben eines DTO zu vermeiden) ist meiner Meinung nach ein Antimuster.
– Luis Martinez
14. Januar 19 um 17:18 Uhr
RanRag
Sie können so etwas tun:
public class Example
{
public String name;
public String location;
public String[] getExample()
{
String ar[] = new String[2];
ar[0]= name;
ar[1] = location;
return ar; //returning two values at once
}
}
-
Wie leistungseffizient ist das?
– Aaron Franke
2. November 18 um 9:56 Uhr
Sie können nur einen Wert zurückgeben, aber es kann sich um ein Objekt handeln, das mehrere Felder hat – dh ein “Wertobjekt”. Z.B
public class MyResult {
int returnCode;
String errorMessage;
// etc
}
public MyResult someMethod() {
// impl here
}
.
Geben Sie ein Array, eine Liste, einen Satz, eine Karte oder Ihr benutzerdefiniertes Objekt zurück, das mehrere Werte enthält. Ich habe dieselbe Frage irgendwo gesehen … lassen Sie mich das finden. Es gibt mehrere Fragen zu diesem Thema: stackoverflow.com/search?q=return+multiple+values+in+java%3F
– Harry Freude
19. Dezember 11 um 6:10 Uhr
Vielleicht zu spät, aber verwenden Sie einfach java.util.AbstractMap.SimpleIEntry. Wiederverwendbar, überall seit 1.6
– Yerlilbilgin
4. Februar 20 um 7:47 Uhr
Wenn Sie Java 14+ verwenden, ist es im Allgemeinen besser, einen Java-Datensatz anstelle eines SimpleEntry zu verwenden, um ein Wertepaar darzustellen.
– Jason
30. Januar 21 um 14:52 Uhr