使用 Java8 Optional 的正确姿式

咱们知道 Java 8 增长了一些颇有用的 API, 其中一个就是 Optional. 若是对它不稍假探索, 只是轻描淡写的认为它能够优雅的解决 NullPointException 的问题, 因而代码就开始这么写了java

Optional<User> user = ...... 
if (user.isPresent()) {
    return user.getOrders();
} else {
    return Collections.emptyList();
}继承

那么不得不说咱们的思惟仍然是在原地踏步, 只是本能的认为它不过是 User 实例的包装, 这与咱们以前写成get

User user = .....
if (user != null) {
    return user.getOrders();
} else {
    return Collections.emptyList();
}io

实质上是没有任何分别. 这就是咱们将要讲到的使用好 Java 8 Optional 类型的正确姿式.java8

在里约奥运之时, 新闻一再提起五星红旗有问题, 但是我怎么看都看不出来有什么问题, 后来才道是小星星膜拜中央的姿式不对. 所以咱们千万也别对本身习觉得常的事情以为理所固然, 丝绝不会以为有何不妥, 换句话说也就是当咱们切换到 Java 8 的 Optional 时, 不能继承性的对待过往 null 时的那种思惟, 应该掌握好新的, 正确的使用 Java 8 Optional 的正确姿式.List

 阅读全文 >>思维

相关文章
相关标签/搜索