【发布时间】:2019-12-25 14:59:18
【问题描述】:
我有返回 Book 对象的 Optional 的方法(不要介意名称,因为它只是代码示例)。我想获取 Book 类中列表的大小:
public class Book {
Integer b;
DateTime dateOfCreation;
Integer a;
List<Integer> bookList;
}
原来是这样的:
public class Main {
public static void main(String[] args) {
Optional<Book> book = getBookObject();
int sizeOfList = book.get().bookList.size();
}
static Optional<Book> getBookObject() {
return Optional.of(new Book());
}
}
我在get() 中有警告,类似于Optional.get() without .ifPresent 获取这种大小的列表的正确方法是什么?
【问题讨论】:
-
为什么在这里使用 optional 作为返回类型?
-
@Sneh 这是一个示例代码,我有更大的项目,我认为没有必要将它粘贴在这里。打个比方吧。
-
有道理,看看 orElseThrow 和 orElse
-
@Andrew Tobilko 我已经在那里它没有帮助我,因为当对象为空时我不需要执行任何操作。只想获取
-
@mara122 请仔细阅读我包含的链接。其中 3 人讨论了
ifPresent,以及何时/如何使用它。