Optional
类型。这样可以更好地处理null
值,并且在某种程度上还可以提供更安全的代码。 Optional
具有ifPresentOrElse
方法,可让您针对出现值时执行特定操作,或针对不存在值时执行特定操作。但是,此方法不允许您声明返回类型。 [有没有一种简便的方法可以使用可选内容和类似ifPresentOrElse
的方法在展开Optional
的同时返回值?
Optional
的所有初始值设定项均为private
,因此无法进行子类化。因此,对于不是Optional
子类的类或类型,必须采取任何解决方案。下面的便捷方法+接口提供了所需的行为。(编辑:注意Consumer
和Runnable
是@ImJustACowLol的自答接口,而不是java.util
接口。如果删除了自答,则该接口与[ C0],除了功能接口方法具有通用返回类型而不是java.util
。无论如何,命名都应该选择不同。)