Rückgabewert mit unterschiedlichen Datentypen

omen

Mitglied
Hallo zusammen,

ich möchte eine Methode schreiben, die als Rückgabewerte unterschiedlicher Datentypen "returnt". Ich überlege mir gerade, ob ich die Werte mi unterschiedlichen Datentypen "int, double" in einem ArrayList speichere und zurückgebe... hat jemeand eine Idee?
 

eRaaaa

Top Contributor
Mhmm.. ich habe sein Vorhaben so interpretiert, dass er jedes mal quasi mehrere Rückgabewerte haben möchte?(also nicht ODER, sondern UND ! - wie sollte man so auf die Idee mit der ArrayList kommen???:L)
 

Noctarius

Top Contributor
Also wenn es Typ X ODER Typ Y oder ... sein soll solltest du Generics nutzen (es gibt ganz ganz seltene Fälle wo man in diesem Fall Object als Returntype nehmen sollte):
Java:
public class GenerifiedClass<T> {
  public T doSomething() {
    ...
  }
}

Wenn du Typ X UND Typ Y musst du dir eine neue Class schaffen welche diese beiden Typen als Properties aufnimmt:
Java:
public class ResultHolder {
  private final X x;
  private final Y y;

  public ResultHolder(X x, Y y) {
    this.x = x;
    this.y = y;
  }

  public X getX() { return x; }
  public Y getY() { return y; }
}

Also normal bin ich auch der Meinung, dass man die Frage präzise stellen sollte aber in diesem Fall kann man auch beide Möglichkeiten kurz anreißen. Das ist nun wirklich nicht zuviel :p
 

xerberuz

Bekanntes Mitglied
Die JVM unterstützt sogar die überladung von Methoden bei denen sich nur der Rückgabewert unterscheidet. Der Java Compiler allerdings nicht. SUN schummelt da aber auch gern mal.

Wers nicht glaubt:

List (Java Platform SE 6)
boolean remove(Object o)
E remove(int index)
 

Noctarius

Top Contributor
Da unterscheidet sich aber nicht nur der Rückgabetyp, sondern auch der Parameter. int ist kein Integer und damit in der Auflösungstabelle vor Object (wo int nach Integer autoboxed werden müsste).
 

xerberuz

Bekanntes Mitglied
Ja da unterscheidet sich auch der Parameter - zugegeben. Aber ich war zu faul ein besseres Beispiel zu suchen. Die JVM erkennt die Methode aber anhand der kompletten signatur. Inklusive des Rückgabewerts. Schau dir mal den Aufruf von Java Methoden mit der C Api an. Oder kompilier eine Klasse und eine 2. die eine Methode dieser aufruft. Dann änder den Rückgabewert der Methode von void zu boolean und kompilier nur die geänderte Klasse neu. Die erste Klasse sollte das eigentlich nicht stören weil der Rückgabewert nicht beachtet wurde. Es fliegt aber eine NoSuchMethodException.
 

Atze

Top Contributor
Ja da unterscheidet sich auch der Parameter - zugegeben. Aber ich war zu faul ein besseres Beispiel zu suchen. Die JVM erkennt die Methode aber anhand der kompletten signatur. Inklusive des Rückgabewerts. Schau dir mal den Aufruf von Java Methoden mit der C Api an. Oder kompilier eine Klasse und eine 2. die eine Methode dieser aufruft. Dann änder den Rückgabewert der Methode von void zu boolean und kompilier nur die geänderte Klasse neu. Die erste Klasse sollte das eigentlich nicht stören weil der Rückgabewert nicht beachtet wurde. Es fliegt aber eine NoSuchMethodException.

es hat den compiler ja auch nicht zu stören, wenn ich einen rückgabewert von void zu boolean ändere, da der aufruf dann trotzdem valide ist, der rückgabewert aber nur ins leere fliegt. :)

wenn ich es aber anderum ändere, oder ändere von int zu boolean, merkt mein compiler das.

kompilier nur die geänderte Klasse neu
abgesehen davon, wie soll der compiler das auch merken, wenn du die aufrufende klasse nicht neu kompilierst? mit autocompile wird's halt bemerkt.
oder hab ich dich falsch verstanden?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
berserkerdq2 Warum soll ich shuffle nutzen, um bei Rückgabewert Collection eine Liste zurückzugeben? Java Basics - Anfänger-Themen 3
S Methoden Return Rückgabewert wird nicht übergeben Java Basics - Anfänger-Themen 8
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
H Array wird als Rückgabewert nicht akzeptiert? Java Basics - Anfänger-Themen 2
L Methoden Rückgabewert Verbergen / nicht mit ausgeben Java Basics - Anfänger-Themen 4
H Problem mit Rückgabewert Java Basics - Anfänger-Themen 7
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
FelixN Array mit verschiedene Datentypen als Rückgabewert? (Long und Double) Java Basics - Anfänger-Themen 3
F Pascalsches Dreieck mit Rückgabewert Java Basics - Anfänger-Themen 2
D Dezimal zu Dual mit Rückgabewert Java Basics - Anfänger-Themen 39
Curtis_MC Methoden Rückgabewert von BiPredicate Java Basics - Anfänger-Themen 6
B Array als Rückgabewert in der Methode Java Basics - Anfänger-Themen 1
T Rückgabewert Problem Java Basics - Anfänger-Themen 2
A Methoden Rückgabewert Java Basics - Anfänger-Themen 6
I Referenz auf Klasse als Rückgabewert Java Basics - Anfänger-Themen 7
H Variablen Void und der Rückgabewert Java Basics - Anfänger-Themen 6
P Rückgabewert bestimmen Java Basics - Anfänger-Themen 17
J Warum wird Array durch Methode ohne Rückgabewert verändert? Java Basics - Anfänger-Themen 5
Tarrew Generics: Erste gemeinse Oberklasse als Rückgabewert Java Basics - Anfänger-Themen 1
I Rückgabewert einer Methode in anderer Klasse verwenden Java Basics - Anfänger-Themen 2
D for-Schleife Rückgabewert Java Basics - Anfänger-Themen 6
M Rückgabewert bei Methoden Java Basics - Anfänger-Themen 6
C Rückgabewert von Kontruktoren Java Basics - Anfänger-Themen 15
S Methoden Bei Liste als Rückgabewert: IndexOutOfBoundsException Java Basics - Anfänger-Themen 1
U Methoden Zugriff auf Array von weiterer Methode einer Klasse, Rückgabewert Problem Java Basics - Anfänger-Themen 5
O Was verursacht den Rückgabewert false bei der Methode ready() eines BufferedReaders Java Basics - Anfänger-Themen 9
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
S Methoden Rückgabewert einer Methode als Parameter an eine andere Methode übergeben, geht das? Java Basics - Anfänger-Themen 5
S Rückgabewert null in Methode mit Thread Java Basics - Anfänger-Themen 2
M Anstatt 1 int Rückgabewert, mehrere Rückgaben mit Arraylist Java Basics - Anfänger-Themen 8
N Klassen constructor Rückgabewert Java Basics - Anfänger-Themen 10
C Methoden Rückgabewert von statischer Methode ignorieren Java Basics - Anfänger-Themen 8
MiMa Methode mit Rückgabewert Java Basics - Anfänger-Themen 2
feardorcha Methodenaufruf Übergabe- und Rückgabewert Java Basics - Anfänger-Themen 5
T Variablen Rückgabewert aus einer Schleifen-Methode Java Basics - Anfänger-Themen 8
D Methode mit Rückgabewert Java Basics - Anfänger-Themen 5
K Rückgabewert einer Klassenmethode Java Basics - Anfänger-Themen 7
J Methoden mit und ohne Rückgabewert Java Basics - Anfänger-Themen 22
D Erste Schritte Als Rückgabewert Klasse Java Basics - Anfänger-Themen 5
D Rückgabewert Pixelgrabber Java Basics - Anfänger-Themen 3
S ArrayList und Rückgabewert Java Basics - Anfänger-Themen 2
T Methode - Rückgabewert Schreibweise Java Basics - Anfänger-Themen 6
S Interface Rückgabewert Java Basics - Anfänger-Themen 3
F if Anweisung mit Rückgabewert? Java Basics - Anfänger-Themen 4
I Rückgabewert von JSlider Java Basics - Anfänger-Themen 15
B Methoden, Rückgabewert und Verknüpfungen Java Basics - Anfänger-Themen 15
V OOP Klassen Methoden Rückgabewert Java Basics - Anfänger-Themen 15
C Datentypen Rückgabewert von "new FileInputStream" Java Basics - Anfänger-Themen 4
S Datentypen String mit fester Länge (Rückgabewert einer Methode) Java Basics - Anfänger-Themen 2
G List als Rückgabewert einer rekursiven Methode (Baum) Java Basics - Anfänger-Themen 3
T Array als Rückgabewert einer Methode Java Basics - Anfänger-Themen 3
A Rückgabewert ändert sich? Java Basics - Anfänger-Themen 9
C Thread mit Rückgabewert? Java Basics - Anfänger-Themen 4
S Rückgabewert einer Instanzvariable Java Basics - Anfänger-Themen 2
K rückgabewert combobox Java Basics - Anfänger-Themen 15
M Methoden mit Rückgabewert Java Basics - Anfänger-Themen 4
B Vector<Point> als Rückgabewert Java Basics - Anfänger-Themen 23
C Null als Rückgabewert Java Basics - Anfänger-Themen 7
O String[] Array als Rückgabewert Java Basics - Anfänger-Themen 7
G setValueAt Rückgabewert verarbeiten? Java Basics - Anfänger-Themen 12
P Methode mit 2 unterschiedlichem Rückgabewert Java Basics - Anfänger-Themen 10
L Prozess rückgabewert? Java Basics - Anfänger-Themen 5
I "Rückgabewert" von EditorFenster Java Basics - Anfänger-Themen 6
A ActionPerformed Methode ohne Rückgabewert Java Basics - Anfänger-Themen 12
G Rückgabewert bei JInternalFrame ? Java Basics - Anfänger-Themen 2
M Rückgabewert Java Basics - Anfänger-Themen 4
L Rückgabewert Java Basics - Anfänger-Themen 7
K Frage zu Rückgabewert List und ArrayList Java Basics - Anfänger-Themen 6
D Methode aufrufen funktioniert nicht ganz - Rückgabewert Bool Java Basics - Anfänger-Themen 12
M Rückgabewert einer Methode Java Basics - Anfänger-Themen 6
P Array als Rückgabewert Java Basics - Anfänger-Themen 4
halla Array an Methode übergeben / Array als Rückgabewert Java Basics - Anfänger-Themen 2
L Rückgabewert in Konstruktor? Java Basics - Anfänger-Themen 4
R Problem mit Rückgabewert Java Basics - Anfänger-Themen 5
M Null-Rückgabewert von Methoden = sauberes programmieren? Java Basics - Anfänger-Themen 3
D Rückgabewert einer Methode Java Basics - Anfänger-Themen 25
M JFileChooser Rückgabewert Java Basics - Anfänger-Themen 2
Niki_Tesla Rückgabewert Java Basics - Anfänger-Themen 2
A Hashtable als Rückgabewert Java Basics - Anfänger-Themen 3
A Methode mit Rückgabewert Java Basics - Anfänger-Themen 3
I In unterschiedlichen Applikation Zugriff auf eine gemeinsame Anwendung? Java Basics - Anfänger-Themen 8
I Gleiche Klassen und Methoden in unterschiedlichen Projekten nutzen Java Basics - Anfänger-Themen 2
luggas89 If else auch mit unterschiedlichen Antworten Java Basics - Anfänger-Themen 5
TimoN11 Array mit unterschiedlichen längen aktualisieren, dann als Methodenwert einsetzen Java Basics - Anfänger-Themen 1
B Tranportkosten berechnen mit unterschiedlichen MwSt Java Basics - Anfänger-Themen 9
B ID von unterschiedlichen Objekten bekommen? Java Basics - Anfänger-Themen 2
E OOP Array anlegen mit unterschiedlichen Werten Java Basics - Anfänger-Themen 8
E Rucksackproblem mit 2 unterschiedlichen maxGewicht Java Basics - Anfänger-Themen 5
S Objekte mit gleichem Namen in unterschiedlichen Klassen Java Basics - Anfänger-Themen 3
N Methoden Wohin mit einer Methode die in unterschiedlichen Klassen verwendet wird? Java Basics - Anfänger-Themen 5
B Watermark erstellen bei unterschiedlichen Bildgrößen Java Basics - Anfänger-Themen 3
O Schlüsselworte this bei unterschiedlichen Attributnamen? Java Basics - Anfänger-Themen 5
P jTable getColumnClass, mit unterschiedlichen Klassen in einer Column? Java Basics - Anfänger-Themen 5
M Listen erstellen mit unterschiedlichen Reihenfolgen Java Basics - Anfänger-Themen 3
M Konstruktor mit unterschiedlichen Parametern? Java Basics - Anfänger-Themen 3
N Aufrufen einer Methode mit unterschiedlichen Basistypen Java Basics - Anfänger-Themen 22
O Array mit unterschiedlichen Datentypen ausgeben... Java Basics - Anfänger-Themen 16
K OOP duplicate class, öffentliche Klasse in unterschiedlichen Java Dateien speichern? Java Basics - Anfänger-Themen 3
J Datentypen Rechnen mit unterschiedlichen Datentypen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben