在 Kotlin 中是否有更简单的方法来表达匿名类?

Ped*_*roD 3 kotlin

我翻译了这个Java

new Thread("Cute Thread") {
  public void run() {
    int a = 3;
  }
}.start();
Run Code Online (Sandbox Code Playgroud)

对于这个科特林

object : Thread("Cute Thread") {
  override fun run() {
     val a = 3
  }
}.start()
Run Code Online (Sandbox Code Playgroud)

但我觉得有一种更简单的方法可以做到这一点,但我找不到任何例子。

我试过了

  Thread("Cute Thread") { val a = 3 }.start()
Run Code Online (Sandbox Code Playgroud)

但没有成功...

附言。我知道像这样启动线程是一种不好的做法。

kli*_*mat 6

没有什么不同的方法来实现匿名类(除了SAM 转换)。
但您仍然可以通过以下方式简化代码:

 Thread({ val a = 3 }).start()
Run Code Online (Sandbox Code Playgroud)

或使用线程名称:

Thread({ val a = 3 }, "Cute Thread").start()
Run Code Online (Sandbox Code Playgroud)