Varargs

jeegeek

Mitglied
Hallo,

ich habe aktuell ein kleines Problem mit Varargs. Ich spiele aktuell mit einfach verketteten Listen, im Prinzip mit Objekten die einen Wert speichern und gleichzeitig die Referenz zum nächsten Objekt besitzen. Zum Anhängen eines neuen Objektes an das letzte Objekt habe ich eine Methode in diesem Beispiel neueKiste(). Dieser Methode muss der Inhalt des neuen Objektes übergeben werden und Optional soll das letzte Element der Liste übergeben werden können, damit das Ende nicht immer neu ermittelt werden muss. Dazu habe ich mir folgendes überlegt:

Java:
	void neueKiste(String inhalt, KistenKlasse... letztesKistenElement){
		
		KistenKlasse letzteKiste = new KistenKlasse();
		
		if (letztesKistenElement == null)
			letzteKiste = kisteErmitteln();
		else
			letzteKiste = letztesKistenElement;
		....
                ....

Jedoch funktioniert es nicht so wie ich dachte. Die Zeile letzteKiste = letztesKistenElement; ist das Problem, der Compiler meckert "Type mismatch: cannot convert from void to KistenKlasse", Eclipse sagt mir noch "cannot covert from KistenKlasse[] to KistenKlasse".

Gibt es eine Lösung wie ich per Varargs ein Objekt übergeben kann? Bei Google finde ich leider nichts oder ich suche nach den falschen Stichwörter.

Ich bedanke mich für einige Ratschläge.
 

jeegeek

Mitglied
Verdammt, manchmal sieht man die Klassen vor lauter Kisten nicht...

Vielen Dank für die Ratschläge, ich hätte selbst darauf kommen müssen. :bloed:

Java:
	KistenKlasse neueKiste(String inhalt, KistenKlasse... letztesKistenElement){
		//prüfen ob ein letztes Element übergeben wurde
		KistenKlasse letzteKiste = new KistenKlasse();
		
		if (letztesKistenElement == null)
			;//letzteKiste = kisteErmitteln();
		else
			letzteKiste = letztesKistenElement[0];
 

Ähnliche Java Themen

Neue Themen


Oben