gpt4 book ai didi

spring-data - 为什么 Spring Data 仍然使用空引用作为返回值?

转载 作者:行者123 更新时间:2023-12-04 05:38:26 24 4
gpt4 key购买 nike

这更像是一个改进建议而不是一个问题。

我们都知道托尼·霍尔发明空引用的“十亿美元错误”。 guava library 的 wiki 中的 Google 建议至avoid using null .

我非常感谢 Spring Data 项目,我们在许多项目中都使用 Spring Data MongoDB。您是否有可能将所有可能的空引用返回值替换为 Optional<T> ?我认为在使用 Spring Data 存储库抽象时这将是一个很大的改进。

我知道必须更改很多接口(interface),但是代码更改几乎是微不足道的,只需将返回类型包装在 Optional.of(returnValue) 中即可.

最佳答案

Guava /JDK8 Optional<T> Release Train Dijkstra 的 RC1 已引入支持.请查看spring-data-examples for java8看看它是如何工作的。

interface CustomerRepository extends Repository<Customer, Long> {

// CRUD method using Optional
Optional<Customer> findOne(Long id);

// Query method using Optional
Optional<Customer> findByLastname(String lastname);
}

顺便说一句:也支持默认方法。

关于spring-data - 为什么 Spring Data 仍然使用空引用作为返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25883608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com