我有一个包含 Item 对象的集合:Set<Item> 类 Item 有一个getName()返回字符串的方法。我想转换Set<Item>为Set<String>使用方法 Item#getName()有没有更好的方法,而不是使用 forEach ?
2 回答
大话西游666
TA贡献1817条经验 获得超14个赞
itemSet.stream().map(Item::getName).collect(Collectors.toSet())
使用 Java Stream解释此方法链:
在
.stream
从您所设定的,一个又一个拉每个项目。请参阅 Oracle 发表的这篇文章,使用 Java SE 8 Streams 处理数据,第 1 部分。该
.map
调用指定的方法(getName
每个对象从集流媒体)。这个的输出是每个项目的 name 属性,显然是String
您方案中的一个对象。在
.collect
每个这些名称输出的捕获,并且将其放入一个新Set
对象中。Set
当此代码完成时,将返回此新内容。
添加回答
举报
0/150
提交
取消