kotlin什么是java。构造器。单()?
我正在学习Kotlin如何评估脚本,我在BasicJvmScriptEvaluator中看到了如下代码:
val ctor = java.constructors.single()
val saveClassLoader = Thread.currentThread().contextClassLoader
Thread.currentThread().contextClassLoader = this.java.classLoader
return try {
ctor.newInstance(*args.toArray())
} finally {
Thread.currentThread().contextClassLoader = saveClassLoader
}
我不理解代码java.constructors.single()
,没有名为java的包。构造器。我应该如何理解此代码
# 1 楼答案
重要的是要意识到你在extension function操作^{} 的实例。返回{cd2}的调用{cd2}。然后
constructors
从Class
中获取一个Constructor
数组,并且single()
获取该数组中的一个(并且只有一个,否则会引发异常)元素如果将代码展开为多行,可能更容易看到发生了什么:
single()
函数是an extension function defined on ^{