Как работает Scanner.tokens()

196
20 июля 2021, 03:20

В документации к класу Scanner написано, что tokens() возвращает стрим стрингов, таких же которые возвращал бы метод next().

Тогда почему здесь tokens() возвращает весь текст посимвольно, хотя при использовании next() текст делится и возвращается согласно разделителям.

Scanner scanner = new Scanner(System.in).useDelimiter("\\s||\\n");
scanner.tokens().forEach(System.out::println);
Answer 1

Неправильный regex. \\s||\\n, Значит что валидные разделители: "\s", "" и "\n". Уберите лишнюю |

READ ALSO
Оператор break для switch case внутри lambda-выражения

Оператор break для switch case внутри lambda-выражения

Прошу подсказать, как можно обыграть такую ситуацию с break:

177
Enum и константы в чем отличие?

Enum и константы в чем отличие?

Старый способ имитации "перечисления":

281
Убрать фон кнопки в Swing

Убрать фон кнопки в Swing

Как убрать фон кнопки так, чтобы осталось только одно изображение? Сама иконка 16x16

161
Как отсортировать список List<> в JAVA?

Как отсортировать список List<> в JAVA?

Вот есть код, который выводит список объектовМне нужно что бы он при выводе сортировался по названию поля

395