我有以下问题:
如何将以下代码片段转换为 Java 8 lambda 样式?
List<String> tmpAdresses = new ArrayList<String>();
for (User user : users) {
tmpAdresses.add(user.getAdress());
}
不知道并从以下开始:
List<String> tmpAdresses = users.stream().map((User user) -> user.getAdress());
扩展了你的想法:
List<String> tmpAdresses = users.stream().map(user ->user.getAdress())
.collect(Collectors.toList())
使用 lambda 收集器的另一种方法,如上面的答案
List<String> tmpAdresses= users
.stream()
.collect(Collectors.mapping(User::getAddress, Collectors.toList()));
你已经快完成了,你只需要在列表中收集流。
List<String> addressList =
users
.stream()
.map(user -> user.getAddress())
.collect(Collectors.toList())
您可以使用它将
Long
转换为 String
:
List<String> ids = allListIDs.stream()
.map(listid-> String.valueOf(listid))
.collect(Collectors.toList());