5 Stimmen

Wie konvertiert man List <String> in List <Integer>?

Ich erhalte eine Zeichenfolge von Konstanten in List. Ich brauche List. Auf die einfache Weise werde ich durchlaufen und in Integer umwandeln.

Gibt es eine bessere Lösung?

0voto

arjacsoh Punkte 8580

Es gibt keinen expliziten und direkten Weg, den parametrisierten Typ einer Sammlung zu ändern. Sie sollten eine neue erstellen und die Daten beim Ändern übertragen.

0voto

R. Oosterholt Punkte 7063

Der umgekehrte Weg wurde bereits beantwortet.

Es scheint, dass Schleifen die einzige Option sind. Wenn Sie selbst nicht 'möchten' schleifen, gibt es einige Klassen, die verwendet werden können (z.B. von Apache Commons).

0voto

Devolus Punkte 20928

Es geht nicht nur um das Gießen, denn String und Integer sind grundsätzlich unterschiedliche Objekte.

Sie müssen die Liste durchlaufen und jedes in ein neues Integer parsen:

List intList = new ArrayList();
for(String numeric : stringList)
{
    intList.add(Integer.parseInt(numeric));
}

0voto

Sergii Shevchyk Punkte 37348

Mit guava verwenden:

List strings = Lists.newArrayList("1", "2", "3");
List ints = Lists.transform(strings, new Function(){
    public Integer apply(String input) {
        return Integer.valueOf(input);
    }
});

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X