Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 迭代列表查找布尔属性,返回默认值false_Java_Java 8_Java Stream - Fatal编程技术网

Java 迭代列表查找布尔属性,返回默认值false

Java 迭代列表查找布尔属性,返回默认值false,java,java-8,java-stream,Java,Java 8,Java Stream,我有一个对象列表,每个对象都有一个布尔属性。比如说, public class A { private boolean isAvailable; } 我想迭代这个列表,获取列表中第一个元素的isavailable值。如果列表为空或null,那么我想返回false 我可以用Java8流高效地完成这项工作吗?当然,这在Java流中是可能的: boolean result = list.stream().findFirst().map(A::isAvailable).orElse(false)

我有一个对象列表,每个对象都有一个布尔属性。比如说,

public class A {
   private boolean isAvailable;
}
我想迭代这个列表,获取列表中第一个元素的isavailable值。如果列表为空或null,那么我想返回false


我可以用Java8流高效地完成这项工作吗?

当然,这在Java流中是可能的:

boolean result = list.stream().findFirst().map(A::isAvailable).orElse(false);
使用该方法获取列表的第一个值(如果存在)。isAvailable,如果列表为空,则返回false

我强烈反对使用null作为列表值。改为使用空列表

但是,如果您想这样做,可以使用可选选项包装列表:

boolean result = Optional.ofNullable(list)
        .flatMap(l -> l.stream().findFirst().map(A::isAvailable))
        .orElse(false);

显示您的尝试?或仅显示布尔结果=列表=空&!list.isEmpty&&list.get0.isAvailable;