嗨,我想从对象流中提取属性并设置其格式,并将它们连接到新字符串中。
Ex
public class User{
public User(String name, String lastname){
this.name = name;
this.lastname = lastname;
}
public String name;
public String lastname;
}
List<String> 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
提前感谢
您可以这样做,
users = memberNames.stream()
.map(user -> String.format("The user name is %s and his lastname is %s\n", user.name, user.lastname))
.collect(Collectors.joining());