SAM

SAM conversion on Kotlin Interfaces
由于 Kotlin 中拥有完整的函数类型,所以 SAM 是为 Java 接口设计的
具体细节差异如下:

  1. interface GenericCon<T> {
  2. fun accept(t: T)
  3. }
  4. @Test
  5. fun lam() {
  6. Consumer<Int> { println(it) }
  7. // 编译错误,无法正常运行
  8. GenericCon<Int>{ println(it) }
  9. }