Java 如何将for循环转换成流并在中间中断它?
我如何将下面的代码转换成流格式,尝试了filter、foreach和map,但仍然有问题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操作。如果状态为无效或
私有状态验证(最终类型,最终字符串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(状态未知);
}
谢谢,被困在所有过滤器、地图和资料中谢谢,被困在所有过滤器、地图和资料中