我知道如何从对象列表中获取属性列表到新列表中。
但是如果我还想将类型从int
转换为long
怎么样呢。例如,如果我的用户类的方法名为get userId(int
类型),则myUserList
是用户对象列表。
List<Integer> userIdList = myUserList.stream()
.map(User::getUserId)
.collect(Collectors.toList());
所以我可以获得一个带有int
类型的userId列表。如果我想将int
转换为long
怎么样?我试过这段代码:
myUserList.stream()
.map(Long::intValue(User::getUserId))
.collect(Collectors.toList());
我遇到了错误can not resolve method static...
。
愿有人告诉我如何解决它吗?
答案 0 :(得分:4)
您可以通过强制转换
将int转换为long.map(user -> (long) user.getUserId())
或(因为无论如何都需要装箱才能进入列表),您可以使用Long.valueOf
。
userList.stream()
.map(user -> Long.valueOf(user.getUserId()))
.collect(Collectors.toList());