Мой вопрос связан с: Что означает идемпотентный метод и каковы побочные эффекты в случае вызова метода close java.lang.AutoCloseable?
Что касается метода в java.util.stream.Stream.peek()
, в книге Oracle Certified Professional Java SE 8 Study Guide > глава 4 Функциональное программирование > Использование потоков > Использование общих промежуточных операций было указано, что peek() предназначен для выполнения операции без изменения результат
Мой вопрос таков: могу ли я сказать, что на практике действие в peek(Consumer action) должно быть идемпотентным, даже если код с сохранением состояния в peek()
может компилировать?
peek
должен быть идемпотентным. Нет никаких гарантий, что вызываемое действие есть, хотя, возможно, вы правы. Он должен быть идемпотентным, просто нет никакой гарантии, что это будет так. - person Lasse V. Karlsen   schedule 29.04.2018