java8流连接映射输出到字符串返回java.util.stream.ReferencePipeline

java8流连接映射输出到字符串返回java.util.stream.ReferencePipeline,java,dictionary,java-8,java-stream,Java,Dictionary,Java 8,Java Stream,嗨,我想从对象steam中提取和格式化属性,并将它们连接到一个新字符串中 前 我得到 java.util.stream.ReferencePipeline$3@396555a1 而不是 The user name is john and his lastname is rush The user name is peter and his lastname is gabriel 提前谢谢 java.util.stream.ReferencePipeline$3@396555a1 是在执行m

嗨,我想从对象steam中提取和格式化属性,并将它们连接到一个新字符串中

我得到

java.util.stream.ReferencePipeline$3@396555a1
而不是

The user name is john and his lastname is rush
The user name is peter and his lastname is gabriel
提前谢谢

java.util.stream.ReferencePipeline$3@396555a1
是在执行
map
操作之前尝试打印您创建的
的结果

您希望
收集
到目前为止映射的用户名,同时使用
\n
分隔符加入

String users = memberNames.stream()
        .map(user -> String.format("The user name is %s and his lastname is %s", user.name, user.lastname))
        .collect(Collectors.joining("\n"));
System.out.println(users); // to print them all at once

我认为您的代码中有一个小错误:
List memberNames
而不是
List memberNames
java.util.stream.ReferencePipeline$3@396555a1
String users = memberNames.stream()
        .map(user -> String.format("The user name is %s and his lastname is %s", user.name, user.lastname))
        .collect(Collectors.joining("\n"));
System.out.println(users); // to print them all at once