G
gast
Gast
Hi,
manchmal habe ich ein Object[], weiß aber genauer, welche Objekte drin stehen, zB. wenn ich Vector<Integer>.toArray() aufrufe. Demnach müssten alle Objekte Integer sein.
Wie kann ich das nu korrekt casten?
und wenn ichs stattdessen so probiere, gehts auch nicht:
in einer Schleife ist das ja noch verkraftbar, dann caste ich eben jedes Objekt einzeln. aber bei ner Übergabe wirds schon problematisch, da müsste ich ein neues Array bauen, das mit ner schleife jedes mal castet, und das wieder übergeben. sehr doof.
Also wie geht das korrekt? Ich meine, immerhin lässt der Compiler (Integer[])o ja zu, also muss das doch auch zu irgendwas nute sein.
manchmal habe ich ein Object[], weiß aber genauer, welche Objekte drin stehen, zB. wenn ich Vector<Integer>.toArray() aufrufe. Demnach müssten alle Objekte Integer sein.
Wie kann ich das nu korrekt casten?
Code:
Object[] o = vector.toArray();
(Integer[])o; //gibt ne classCastException
(Integer)o; //schluckt der Compiler schon mal gar nicht
und wenn ichs stattdessen so probiere, gehts auch nicht:
Code:
Object o = vector.toArray(); //auch ein Array ist ein Object
in einer Schleife ist das ja noch verkraftbar, dann caste ich eben jedes Objekt einzeln. aber bei ner Übergabe wirds schon problematisch, da müsste ich ein neues Array bauen, das mit ner schleife jedes mal castet, und das wieder übergeben. sehr doof.
Also wie geht das korrekt? Ich meine, immerhin lässt der Compiler (Integer[])o ja zu, also muss das doch auch zu irgendwas nute sein.