ArrayList<String> to ArrayList<Integer

  1. #1

    ArrayList<String> to ArrayList<Integer
    Ein Cast kann ich ohne weiteres realisieren, nur wenn ich auf ein Element danach zugreifen will, kommt eine ClassCastException.
    Gibt es dennoch eine Möglichkeit ein String in eine ArrayList des Typs Integer zu wandeln?

    Mein Konstrukt mit der ClassCastException:
    Code:
    String numbers = "1 2 3";
    ArrayList<String> test = new ArrayList<String>();
    test.add(number);
    
    ArrayList<Integer> testInt = new ArrayList<Integer>();
    Object myString;
    myString = test;
    
    testInt = (ArrayList<Integer>)myString;
    int testOutput = testInt.get(0);
    Danke

  2. #2
    foxy


    ich glaub so kannste das nicht machen ...
    vorallem würde ich das in nen char array erst mal machen und dann in eine integer liste

    und nun zu deinem code du lädst dein gesamtes string array in ein objekt rein .. somit hast du soetwas wie ein container gebaut ... nun (laut deinem code) castest du dein container in eine Arrayliste mit werten von integer ...

    das casten klappt natürlich ... weil du ein Object castest ... aber der inhalt des Objektes ist dennoch String

    an deiner stelle würde ich den string in ein char array laden und dann mit ner schleife die einzelnen integer werte in die arraylist<Integer> laden

  3. #3
    Murray


    Ein Cast bringt da überhaupt nichts; beim Casten werden die Objekt nicht in irgendeiner Form verändert oder konvertiert, sondern lediglich als ein anderer Typ interpretiert - und das klappt eben nur dann, wenn sie auch wirklich diesen Typ haben.
    Wenn du in einer Liste String-Objekte hast, dann muss jedes einzelne Element explizt per Integer.parseInt bzw. Integer.valueOf in ein int bzw. Integer umgewandelt werden.
    In deinem Fall hast du ja aber noch nicht mal wirklich eine Liste von Strings; deine Liste enthält ja genau ein Element, in dem die Zahlen durch Leerzeichen getrennt hintereinander stehen. Diese String müsstest du zunächst mit String.split aufteilen.


Keine Antwort auf Deine Suche gefunden? Registriere Dich kostenlos und stelle Deine eigene Frage zu Java!

Jetzt kostenlos registrieren