Da Scanner quasi der Ferrari der Aufsplittung ist, gibt es hier noch recht viele andere Möglichkeiten, z.B. die Unterscheidung nach gefundenen Objekten, bzw deren primitiven Datentypen:
List <String> SplitArray_String = new ArrayList<String>();
List <Integer> SplitArray_int = new ArrayList<Integer>();
List <Boolean> SplitArray_boolean = new ArrayList<Boolean>();
Scanner s = new Scanner (“true wird auch nach 100 Wiederholungen nicht FALSE”);
while (s.hasNext()){ // übliche Schleife zur Überprüfung auf weitere Werte
if (s.hasNextInt()) // Falls der nächste gefundene “Teilstring” ein int-Wert ist …
SplitArray_int.add(s.nextInt()); // … füge es der Liste mit den Int-Werten hinzu
if (s.hasNextBoolean()) // Falls der nächste gefundene “Teilstring” ein boolean-Wert ist …
SplitArray_boolean.add(s.nextBoolean()); // … füge es der Liste mit Boolean-Werten hinzu
else // Falls beides nicht zutrifft …
SplitArray_String.add(s.next()); // … füge es der Liste mit Strings hinzu
}
System.out.println(“\nString List: “); // Ausgabe der String-Liste
for (int i = 0; i < SplitArray_String.size(); i++)
System.out.println(SplitArray_String.get(i));
System.out.println(“\nInteger List “); // Ausgabe der Int-Liste
for (int i = 0; i < SplitArray_int.size(); i++)
System.out.println(SplitArray_int.get(i));
System.out.println(“\nBoolean List “); // Ausgabe der Boolean-Liste
for (int i = 0; i < SplitArray_boolean.size(); i++)
System.out.println(SplitArray_boolean.get(i));
Die Ausgabe ist demnach:
String List:
wird
auch
nach
Wiederholungen
nicht
Integer List
100
Boolean List
true
false