Java 为什么映射函数不能在嵌套流中工作

Java 为什么映射函数不能在嵌套流中工作,java,collections,java-8,java-stream,Java,Collections,Java 8,Java Stream,Hi在下面的代码映射函数中不会运行,但每次运行都会运行 List<ValidationError> validationErrors = validationErrorResponse.getValidationErrors(); validationErrors.stream().forEach(validationError -> { System.out.println("Hello1"+validationError.getProperty()); Sy

Hi在下面的代码映射函数中不会运行,但每次运行都会运行

List<ValidationError> validationErrors = validationErrorResponse.getValidationErrors();
validationErrors.stream().forEach(validationError -> {
    System.out.println("Hello1"+validationError.getProperty());
    System.out.println("Hello1"+validationError.getErrors().toString());
    List<String> errors = validationError.getErrors();
            errors.stream().map(x-> ErrorCode.valueOf(x));
List validationErrors=validationErrorResponse.getValidationErrors();
validationErrors.stream().forEach(validationError->{
System.out.println(“Hello1”+validationError.getProperty());
System.out.println(“Hello1”+validationError.getErrors().toString());
List errors=validationError.getErrors();
errors.stream().map(x->ErrorCode.valueOf(x));

map
是流上的一个中间操作。因此,如果您向它添加一个终端操作,例如
collect
forEach
,它将被执行

比如:

errors.stream().map(x-> ErrorCode.valueOf(x)).forEach( x -> System.out.println(x) );

map
是流上的一个中间操作。因此,如果您向它添加一个终端操作,如
collect
forEach
,它将被执行

比如:

errors.stream().map(x-> ErrorCode.valueOf(x)).forEach( x -> System.out.println(x) );

但是如果我们不使用嵌套流,它就可以工作?比如e.getValidationErrors().stream().map(x->ErrorCode.valueOf(x));但是如果我们不使用嵌套流,它就可以工作?比如e.getValidationErrors().stream().map(x->ErrorCode.valueOf(x));