Java 如何将for循环转换成流并在中间中断它?

Java 如何将for循环转换成流并在中间中断它?,java,for-loop,lambda,java-stream,Java,For Loop,Lambda,Java Stream,我如何将下面的代码转换成流格式,尝试了filter、foreach和map,但仍然有问题 私有状态验证(最终类型,最终字符串id){ for(验证器验证器:验证器){ Status Status=validator.validate(类型,id); if(status==status.INVALID | | status==status.VALID){ 返回状态; } } 返回状态。未知; } 让我们来分解这个循环。首先检查所有验证器并调用validate——这是一个map操作。如果状态为无效或

我如何将下面的代码转换成流格式,尝试了filter、foreach和map,但仍然有问题

私有状态验证(最终类型,最终字符串id){
for(验证器验证器:验证器){
Status Status=validator.validate(类型,id);
if(status==status.INVALID | | status==status.VALID){
返回状态;
}
}
返回状态。未知;
}

让我们来分解这个循环。首先检查所有验证器并调用
validate
——这是一个
map
操作。如果
状态
无效
有效
,您将返回它-这是一个
过滤器
操作,具有
findFirst
逻辑。如果找不到,则返回
UNKNOWN
——这是一个
orElse
操作。总而言之:

私有状态验证(最终类型,最终字符串id){
返回验证器。stream()
.map(v->v.validate(类型,id))
.filter(s->s==Status.INVALID | | s==Status.VALID)
.findFirst()
.orElse(状态未知);
}

让我们来分解这个循环。首先检查所有验证器并调用
validate
——这是一个
map
操作。如果
状态
无效
有效
,您将返回它-这是一个
过滤器
操作,具有
findFirst
逻辑。如果找不到,则返回
UNKNOWN
——这是一个
orElse
操作。总而言之:

私有状态验证(最终类型,最终字符串id){
返回验证器。stream()
.map(v->v.validate(类型,id))
.filter(s->s==Status.INVALID | | s==Status.VALID)
.findFirst()
.orElse(状态未知);
}

谢谢,被困在所有过滤器、地图和资料中谢谢,被困在所有过滤器、地图和资料中