Rückgabetyp

Status
Nicht offen für weitere Antworten.
S

Samuel

Gast
Ok, ich wieder :D

Ich habe eine UIF/GUI, welche mir 2 Strings und einen Integer zurückgibt.
Was ist der geschickteste Weg sowas zurückzu geben? Ich hätte an ein Transmitter Objekt gedacht, will aber
dafür nicht extra ne Klasse erzeugen nur um dort was zurückzugeben. Getestet habe ich es so:
Code:
Object ob = new Object[3];
ob[0] = new String();
ob[1] = new String();
ob[2] = new Integer();

Geht nicht, weil ich in Integer was rein packen muss, also muss da 0 rein.
Später kommen dann die richtigen Zuweisungen, aber ist sowas brauchbar? Oder unterste Schublade?
Ich würde, wie gesagt ungerne ne zusätzliche Klasse für sowas erstellen, weil nämlich au sden drei Dingen eine sehr ähnliche Klasse erstellt wird, die dafür aber nicht brauchbar ist.
 
B

Beni

Gast
Lieber eine zusätzliche Klasse als ein fehleranfälliger Array (einmal was verwechselt, und dein Programm explodiert...)

Arbeite doch mit den Generics:
Code:
public Triple<Integer, String, String> machWas( ... ){
  ... 
  return new Triple<Integer, String, String>( 17, "eins", "zwei" );
}
Code:
public class Triple<A,B,C>{
  public A a;
  public B b;
  public C c;

  public Triple( A a, B b, C c ){
    this.a = a;
    this.b = b;
    this.c = c;
  }
}

P.S. natürlich erst ab Java 1.5
Falls du kein Java 1.5 hast: eine Klasse ist immernoch besser als ein Array.
 
S

Samuel

Gast
Seltsam, habe garkeine Benachrichtigung bekommen, obwohl Häkchen an ist.

Vielen Dank für die Antwort. Generics sind schon an anderer Stelle drin :), aber ist die public Class bei dir nicht auch eine Klasse? Nur eben eine generische?
 
B

bygones

Gast
ja - aber da es eine generische ist kannst du möglicherweise sie öfters für versch. Rückgaben nutzen...

lieber eine Wrapperklasse mehr als ein ominöses workaround
 
B

Beni

Gast
Joa, das Problem mit dem Mails ist bekannt...

Ja, du hast natürlich recht. Ich war nur zu faul, so genau zu schreiben :wink:
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben