Interface Kotlin接口与Java接口的相关性

Interface Kotlin接口与Java接口的相关性,interface,kotlin,Interface,Kotlin,我正在Kotlin中练习集合,无法理解接口的行为。以下是我问题的背景: public interface List<out E> : Collection<E> {...} public interface MutableList<E> : List<E>, MutableCollection<E> {...} 这里有一件神秘的事情,MutableList在Kotlin中没有实现,那么Kotlin怎么知道java.util.Array

我正在Kotlin中练习集合,无法理解接口的行为。以下是我问题的背景:

public interface List<out E> : Collection<E> {...}
public interface MutableList<E> : List<E>, MutableCollection<E> {...}

这里有一件神秘的事情,
MutableList
在Kotlin中没有实现,那么Kotlin怎么知道java.util.ArrayList可以分配给
MutableList
变量呢?换句话说,Kotlin和Java接口是如何相互关联的?

Kotlin中的接口与Java接口是一对一的关系
MutableList
等采集接口除外;编译器以特殊方式处理它们,以支持只读和可写集合接口之间的分离。

Kotlin中的接口与Java接口具有一对一的关系
MutableList
等采集接口除外;编译器以一种特殊的方式来处理它们,以支持只读和可写集合接口之间的分离。

Internet上有什么好的资源可以阅读编译器内部的信息吗?特别是与接口处理有关。覆盖内部的唯一资源是链接的.thx!我担心源代码在
C
中,但希望不是:)Kotlin编译器是一个JVM应用程序。为什么它的源代码是C?编译器内部是否处理
IntArray
?它的源代码看起来更像是一个接口。互联网上有什么好的资源可以阅读关于编译器内部的内容吗?特别是与接口处理有关。覆盖内部的唯一资源是链接的.thx!我担心源代码在
C
中,但希望不是:)Kotlin编译器是一个JVM应用程序。为什么它的源代码是C?编译器内部是否处理
IntArray
?它的源代码看起来更像一个接口。
public typealias ArrayList<E> = java.util.ArrayList<E>