#java #println
#java #println
Вопрос:
system.out.println
не соответствует system.out.print
при печати java.util.stream
.
1)
Stream.of(1, "1B").forEach(System.out::print);
result:
11B
2)
Stream.of(1, "1C").forEach(System.out::println);
result
1
1C
3)
Stream.of(1, "1B").forEach(System.out::println);
result
1
Кто-нибудь может объяснить, почему 1B
исключается из результата в случае 3
? Я полагаю, "1B"
конфликтует с двоичными литералами. Если да, то почему происходит 1
печать "1B"
с помощью метода print? Мне также интересно, почему "1B"
не считается строковым литералом в потоке в случае 3
?
Комментарии:
1. Я бы предположил, что просто стандартный вывод по какой-то причине не был сброшен.
2. Stream.of(1, «1B»).forEach(System.out::println); сработал, как и ожидалось, для меня в тестировании junit eclipse…
3. Работает так, как ожидалось …
4. Вы делаете что-то еще неправильно, потому что вы не должны ожидать, что будет разница, и на самом деле ее нет ideone.com/9rqiu6