我有一个对象列表,每个对象都有一个 boolean 属性。例如,
public class A {
private boolean isAvailable;
}
我想迭代这个列表,获取列表中第一个元素的“isavailable”值。如果列表为空或 null,那么我想返回 false。
我可以使用 Java8 流有效地完成此操作吗?
最佳答案
当然,这可以通过 Java Streams 实现:
boolean result = list.stream().findFirst().map(A::isAvailable).orElse(false);
使用findFirst()
方法获取列表的第一个值(如果存在)。 Map isAvailable
如果列表为空,则返回 false
。
我强烈建议不要使用 null 作为列表值。请改用空列表。
但是如果您想这样做,您可以使用可选
来包装列表:
boolean result = Optional.ofNullable(list)
.flatMap(l -> l.stream().findFirst().map(A::isAvailable))
.orElse(false);
关于java - 迭代列表查找 boolean 属性,返回默认 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55343465/