这更像是一个改进的建议,而不是一个问题.
通过发明空引用,我们都知道Tony Hoare的"十亿美元错误".在的维基谷歌建议番石榴库,以避免使用空.
我非常欣赏Spring Data项目,我们在许多项目中使用Spring Data MongoDB.您是否有可能用Optional<T>?替换所有可能的空引用返回值?我认为在使用Spring Data存储库抽象时这将是一个很大的改进.
我知道很多接口都需要更改,但代码更改几乎是微不足道的,只需将返回类型包装在一个Optional.of(returnValue).
Chr*_*obl 13
Optional<T>已经与Release Train Dijkstra的 RC1一起引入了Guava/JDK8 支持.请查看java8的spring-data-examples以了解它是如何工作的.
interface CustomerRepository extends Repository<Customer, Long> {
// CRUD method using Optional
Optional<Customer> findOne(Long id);
// Query method using Optional
Optional<Customer> findByLastname(String lastname);
}
Run Code Online (Sandbox Code Playgroud)
BTW:也支持默认方法.
| 归档时间: |
|
| 查看次数: |
10022 次 |
| 最近记录: |