casting prob



  • tach folks

    keine ahnung ob es ich genau um ein casting prob handelt oder nicht 😉 *gg*

    ich habe eine ArrayList elemlist diese liste soll in ein array rein...gut da ich mir arbeit sparen will hab ich mal in der api doc nachgeschaut und dort die funktion toArray() gefunden...also gesagt getan 😉 ich lege mir ein Integer Array blubb an mit der size von elemlist und schreibe

    blubb = (Integer[])elemlist.toArray()

    so soweit so gut...nun will ich das ganze doch mal in einer Funktion zurückgeben (die natürlich als rückgabewert einen Interger[] hat)
    und schreibe demzufolge

    return blubb;

    das ganze kompiliert auch...nun gut...wenn ich es jedoch starte bringt mir der interpreter folgende lustige meldung

    java.lang.ClassCastException

    hmm...;) und da ich sowieso keinen blassen von java hab...sitz ich wie ein schweinchen vorm uhrwerk

    hoffe es kann mir jmd helfen

    bye
    tt



  • Das Array sleber kannst du nicht casten, nur den Inhalt. Wenn die Funktion also ein Integer[] zurückgeben soll, musst du ein neues Integer[] erstellen und wert für wert rüberkopieren.



  • *wein* das is doch nich zu fassen...das sind wieder 5 zeilen man...wie ich arbeit verabscheue...

    bye

    tt



  • Dann solltest du mit dem Programmieren aufhören.



  • Es gibt da aber auch noch eine bessere Möglichkeit:
    Du kannst der Methode toArray sagen, dass sie dir ein Integer[] Array liefern soll:

    Integer[] myArray =  (Integer[])elemlist.toArray(new Integer[elemlist.size()]);
    

Anmelden zum Antworten