public class Main {
static class Account {
private Long id;
private String name;
private Book book;
public Account(Long id, String name, Book book) {
this.id = id;
this.name = name;
this.book = book;
}
public String getName() {
return name;
}
}
public static void main(String[] args) {
List<Account> data1 = new ArrayList<>();
data1.add(new Account(1L,"name",null));
List<String> collect = data1.stream().map(account -> account.getName()).collect(Collectors.toList());
System.out.println(collect);
}
}
在上面的代码我想下面的行的Java 8 lambda来科特林拉姆达
List<String> collect = data1.stream().map(account -> account.getName()).collect(Collectors.toList());
转换成科特林代码。 Kotlin在线编辑器给我以下代码
val collect = data1.stream().map({ account-> account.getName() }).collect(Collectors.toList())
println(collect)
当我尝试运行它时出现编译错误。
如何解决这个问题?
或什么科特林方式来获得字符串列表从帐户对象的列表
而错误是? –
unresolve参考流,unresolve参考收藏家 – Mahabub
所以问题不是lambda。问题是Kotlin集合没有stream()方法。请参阅https://youtrack.jetbrains.com/issue/KT-5175 –