java - 获取对象列表的大小 - 不带 .ifPresent 的 Optional.get()
问题描述
我有返回Optional
Book 对象的方法(不要介意名称,因为它只是代码示例)。我想获取 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<Integer> sizeOfListOptional = book.map((Book presentBook) -> presentBook.bookList.size());
推荐阅读
- python - 将货币插入 SQL 数据库
- ios - NSMutableArray 新的协议类型
- python - 将记录从第一个 Django 模型移动到第二个,然后从第一个删除它
- laravel - Laravel 循环嵌套 JSON
- react-native - 为什么我不能在 React Native 中共享音频文件?
- node.js - node.js 中的笑话测试失败,显示 Matcher 错误
- python - Python:存储数字键值对的最佳方式是什么?
- javascript - Android Webview 崩溃并出现 GL 错误:GL_INVALID_VALUE
- python - 如何遍历文本文件目录、提取特定行并写入 csv
- azure-devops - azure devops 上的计划构建作业停止计划新构建