【发布时间】:2018-10-24 18:10:28
【问题描述】:
这个 for 循环在 Java 中的等效 lambda 表达式是什么?
我只想在一行中打印列表对象的名称。
for(Attribute attr : dataSet.getAttributeList()){
System.out.print(attr.getName() + " ");
}
我尝试了以下但没有任何运气,我只得到了流的身份哈希码。
Arrays.asList(dataSet.getAttributeList().stream().map(p -> p.getName()));
【问题讨论】:
-
您是否覆盖了
toString()? -
Attribute是什么?你能提供课程吗? -
你应该使用
Arrays.asList(x)而不是x.collect(Collectors.toList())。如果是这样,我可以把它写成答案,但是……嗯。我猜是未读文档的案例。 -
dataSet.getAttributeList().forEach(attr -> System.out.print(attr.getName() + " "));? -
也许docs.oracle.com/javase/8/docs/api/java/util/stream/… ?顶部的第一个代码 sn-p 显示了如何使用
Collector创建列表。