Kotlin@FunctionInterface使用多个抽象方法进行编译
当试图编译具有多个非抽象方法的JavaKotlin@FunctionInterface使用多个抽象方法进行编译,kotlin,functional-interface,Kotlin,Functional Interface,当试图编译具有多个非抽象方法的Java@FunctionInterface时,会引发编译错误 但是,在Kotlin中执行相同操作时,不会出现任何错误或警告,即以下Kotlin接口编译成功: @FunctionalInterface interface Foo { fun foo() fun foo(params: Map<String, String>) } 问题已提交给JetBrains的问题跟踪器(由另一个用户提交),以报告当@functioninterface
@FunctionInterface
时,会引发编译错误
但是,在Kotlin中执行相同操作时,不会出现任何错误或警告,即以下Kotlin接口
编译成功:
@FunctionalInterface
interface Foo {
fun foo()
fun foo(params: Map<String, String>)
}
问题已提交给JetBrains的问题跟踪器(由另一个用户提交),以报告当@functioninterface
应用于非SAM接口时编译器行为不当的事实,并且截至2019年2月10日,问题仍然没有活动
@FunctionalInterface
// metadata omitted
public interface Foo {
void foo();
void foo(@NotNull Map var1);
}