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 –