Tag: 通用方差

Kotlin:与lambda和泛型混淆

请在评论中看到错误信息: interface Printable {} class Book(val title: String) :Printable fun bookPrint(b: Book?):String = "Title: " + b?.title class Author(val name: String) :Printable fun authorPrint(a: Author?):String = "Name: " + a?.name // Unsupported: [modifier on parameter in function type] // ————-vv fun printIt(f: (in Printable?) -> String, a:Printable):String { return "Unknown: " + f.invoke(null) + "Known: […]

为什么kotlin不允许covariant mutablemap成为委托?

我是Kotlin的新手。 当我学习在地图中存储属性 。 我尝试下面的使用。 class User(val map: MutableMap<String, String>) { val name: String by map } class User(val map: MutableMap<String, in String>) { val name: String by map } class User(val map: MutableMap<String, out String>) { val name: String by map } 前两个都是工作,最后一个失败了。 用out修饰符, getName的字节码就像这样: public final java.lang.String getName(); 0 aload_0 [this] 1 getfield kotl.User.name$delegate […]