system.out.println не соответствует system.out.print

#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