什么是单子?Java 开发人员的基本理论

monad 是一个源自数学的一部分的概念,称为 范畴论,而不是类或特征 。在本文中,我将尝试解释它的结构和内部工作原理 。通过使用 JAVA 中的Optional ,我将尝试以更易于理解的方式描述所有这些 。我还将实现一个基本的 monad 以更好地理解它们的工作原理,并以一个简短的使用示例作为结尾,以展示 monad 相对于非 monad 方法的优势 。
为什么要学习 Monads 是如何工作的?
首先,对我们使用的东西如何工作有一个基本的了解总是好的 。如果您是 Java 开发人员,您可能会使用 monad,甚至可能不知道 。这可能会让您感到惊讶,但Java 8 最著名的两个特性,即Stream和Optional是 monad 实现 。
让我们从描述什么是 monad 开始——或多或少准确 。在我看来,这里的问题相当简单 。


    推荐阅读