Java 8 konvertiert String von Ints zu ListInteger

9

Ich habe einen String:

%Vor%

Ich möchte es in eine Liste von Ints konvertieren:

%Vor%

Ich kann es auf diese Weise in eine Liste von Strings konvertieren:

%Vor%

Aber nicht um Ints aufzulisten.

Irgendwelche Ideen?

    
Igor 29.11.2016, 15:16
quelle

4 Antworten

17

Sie müssen die Zeichenfolge aufteilen und aus jedem Teil einen Stream machen. Die Methode splitAsStream(input) macht genau das:

%Vor%

Sie gibt Stream<String> des Teils der Eingabezeichenfolge zurück, die Sie später einer Integer zuordnen und in einer Liste sammeln können.

Beachten Sie, dass Sie das Muster möglicherweise in einer Konstanten speichern und jedes Mal erneut verwenden möchten, wenn es benötigt wird.

    
Tunaki 29.11.2016, 15:23
quelle
15

Regular Expression Splitting ist was Sie suchen

%Vor%     
Lukas Eder 29.11.2016 15:22
quelle
2

Teilen Sie zuerst die Zeichenfolge in einzelne Zahlen auf, konvertieren Sie dann diese (noch Zeichenfolge) in tatsächliche Ganzzahlen, und sammeln Sie sie schließlich in einer Liste. Sie können all dies tun, indem Sie Stream-Operationen verketten.

%Vor%     
tobias_k 29.11.2016 15:26
quelle
0

Sie können einfach die Array-Funktion asList verwenden und dann den java8-Weg konvertieren.

Vergessen Sie nicht, die Leerstellen zu entfernen.

%Vor%

BEARBEITEN: Tut mir leid, ich habe nicht gesehen, dass es eine einzelne Zeichenfolge war, dachte, es wäre ein Array von String.

    
tl-photography.at 29.11.2016 15:33
quelle