toArray Castingproblem

Status
Nicht offen für weitere Antworten.

siba

Bekanntes Mitglied
Hallo!

Ich habe ein ClassCastEsception Problem. Ich weiß, daß die toArray-Methode ein Objekt zurückgibt, deswegen habe ich versucht das Ergebnsi zu casten, leider mit wenig Erfolg. Was mache ich falsch?

Code:
import java.util.TreeSet;

public class CollectionSetArray {
	public static void main(String[] args) {
		TreeSet<String> s = new TreeSet<String>();
		String st = new String("Hallo");
		String st1 = new String("Bye");
		String st2 = new String("Auf Wiedersehen");
		String st3 = new String("Goodbye");
		s.add(st);
		s.add(st1);
		s.add(st2);
		s.add(st3);
		String[] ss = (String[])s.toArray();//ClassCastException
		
		for (String str: ss){
			System.out.println(st);
		}
	}
}
 
B

Beni

Gast
Na, die "toArray"-Methode gibt ein Object-Array zurück, und das ist natürlich kein String-Array :wink:

Benutz
Code:
String[] ss = s.toArray( new String[ s.size() ] );
 

siba

Bekanntes Mitglied
Merci! Jetzt habe ich zwar keine Exception mehr, aber dafür als Ausgabe viermal hallo! Was ist noch falsch?
 

byte

Top Contributor
Nichts ist falsch. Die Ausgabe ist doch vollkommen korrekt. Schließlich gibst du in der Schleife st aus und das ist nun mal "Hallo".
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben