为什么 Java 8 的Optional应该在参数中使用
虽然指南建议Optional应该仅限于返回类型,但问题是为什么它也可能不适合方法参数。
Optional 的方法参数
考虑具有两个可选参数的方法:
public int calculateSomething(Optional<String> p1, Optional<BigDecimal> p2) { // Implementation logic }
替代选项包括:
public int calculateSomething(String p1, BigDecimal p2) { // Null checks added in implementation }
或:
public int calculateSomething() { // Default implementation with null parameters } public int calculateSomething(String p1) { // Implementation with one parameter } public int calculateSomething(BigDecimal p2) { // Implementation with one parameter } public int calculateSomething(String p1, BigDecimal p2) { // Full implementation }
反对使用可选的争论参数
一些人反对使用可选参数,因为:
使用可选参数的好处
但是,使用可选参数也有好处:
结论
最终,是否使用可选参数的决定取决于开发团队的具体上下文和偏好。虽然指南建议仅对返回类型使用Optional,但在某些需要语义清晰和统一处理的场景中,它可能是方法参数的实用且有效的选择。在决定采取某种方法之前,仔细考虑其优点和缺点非常重要。
以上是Java 8 的可选值应该用于方法参数吗?的详细内容。更多信息请关注PHP中文网其他相关文章!