![](/img/trans.png)
[英]java streams java.util.stream.ReferencePipeline$3@7291c18f
[英]java8 stream concatenate map output to string return java.util.stream.ReferencePipeline
嗨,我想从对象蒸汽中提取和格式化属性,并将它们连接到一个新字符串中。
前任
public class User{
public User(String name, String lastname){
this.name = name;
this.lastname = lastname;
}
public String name;
public String lastname;
}
List<User> memberNames = new ArrayList<>();
memberNames.add(new User("john", "rush");
memberNames.add(new User("peter", "gabriel");
String users = "";
users += memberNames.stream().map(user ->{return String.format("The user name is %s and his lastname is %s\n", user.name, user.lastname); });
但是当我尝试打印用户字符串时
logger.info(users);
我得到
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
是尝试打印您创建的Stream
直到执行map
操作的结果。
您希望collect
映射到现在的用户名,同时使用\\n
分隔符加入 then。
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.