You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Optional获取元素数量?已知List可通过size()方法实现

如何获取Optional中的元素数量

Optional<T> 是Java提供的用于规避空指针异常的容器类,它最多只能容纳1个非空元素,因此元素数量只能是0或1,没有提供和List类似的size()方法,需要通过存在性判断间接得到数量。

单个Optional的数量获取

直接通过isPresent()方法判断元素是否存在,转换为对应数值即可:

Optional<User> data = this.Service.getUserById(id);
// 存在元素返回1,不存在返回0
int elementCount = data.isPresent() ? 1 : 0;
System.out.print(elementCount);

如果你使用的是Java 11及以上版本,也可以用isEmpty()方法判断:

int elementCount = data.isEmpty() ? 0 : 1;

多个Optional的总数统计

如果你需要统计一批Optional实例中有值的总数量,可以结合Stream实现:

List<Optional<User>> userOptionalList = ...;
long totalCount = userOptionalList.stream()
        .filter(Optional::isPresent)
        .count();

内容的提问来源于stack exchange,提问作者Faheem azaz Bhanej

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:39:05