相关疑难解决方法(0)

Kotlin:Interface ...没有构造函数

我正在将我的一些Java代码转换为Kotlin,我不太了解如何实例化Kotlin代码中定义的接口.作为一个例子,我有一个接口(在Java代码中定义):

public interface MyInterface {
    void onLocationMeasured(Location location);
}
Run Code Online (Sandbox Code Playgroud)

然后在我的Kotlin代码中进一步实例化这个接口:

val myObj = new MyInterface { Log.d("...", "...") }
Run Code Online (Sandbox Code Playgroud)

它工作正常.但是,当我将MyInterface转换为Kotlin时:

interface MyInterface {
    fun onLocationMeasured(location: Location)
}
Run Code Online (Sandbox Code Playgroud)

我收到一条错误消息:Interface MyListener does not have constructors当我尝试实例化它时 - 虽然在我看来除了语法之外没有任何改变.我是否误解了Kotlin界面的工作原理?

java kotlin

109
推荐指数
5
解决办法
3万
查看次数

箭头(" - >")操作符在Kotlin中做了什么?

可能有点广泛的问题,但官方文档甚至没有提到箭头操作符(或语言结构,我不知道哪个短语更准确)作为一个独立的实体.

最明显的用法是when条件语句,它用于将表达式分配给特定条件:

  val greet = when(args[0]) {
    "Appul" -> "howdy!"
    "Orang" -> "wazzup?"
    "Banan" -> "bonjur!"
    else    -> "hi!"
  }

  println(args[0] +" greets you: \""+ greet +"\"")
Run Code Online (Sandbox Code Playgroud)

有什么其他用途,他们做了什么?Kotlin中箭头操作符有一般含义吗?

operators kotlin

31
推荐指数
3
解决办法
1万
查看次数

标签 统计

kotlin ×2

java ×1

operators ×1