【发布时间】:2016-09-14 06:23:17
【问题描述】:
我是 Java 8 的新手,我遇到了 Consumer java doc,上面写着:“Consumer 应该通过副作用进行操作。”有人能解释一下为什么这么说吗?
【问题讨论】:
-
如果您不习惯函数式编程,那么该语言对您来说意义不大。这个想法是“纯”函数应该只从它们的输入中读取,并且只写入它们的返回值(所以不会有副作用 - 运行函数的唯一效果是你得到返回值。)改变的函数某些东西(修改数据结构、运行 IO 等)据说有副作用。没有返回值的函数最好有副作用,否则它什么也做不了。