Java有一个Optional
类型,它减轻了很多null
引起的痛苦。null
是否有任何有效的用例?为什么会使用null
而不是Optional
?
一个可能的场所也许是表演。 null
可能比Optional
还快.
Optional
对象的典型用例仅适用于方法的return
类型。
此外,使用 Optional
作为方法参数或构造函数参数不是一个好的做法,因为我们不能强制执行非空可选对象,即Optional
对象本身可以null
。换句话说,即使您将Optional
对象作为方法参数传递,因为我们无法保证Optional
对象本身不为 null,您仍然可能最终得到null
检查。我建议你可以在这里详细讨论这个主题。
另一点是Java的Optional
不是Serializable
,所以你不能在需要序列化的变量/字段上使用Optional
。您可以在此处参考更多内容。
因此,重要的一点是,我们仍然需要null
引用Optional
没有意义的地方。