如何解决什么是java.constructors.single?
我正在学习Kotlin如何评估脚本,并且在BasicJvmScriptEvaluator中看到了如下代码:
iloc
我不了解代码df.iloc[0:3,0]
,没有名为java.constructors的软件包。我应该如何理解此代码?
解决方法
重要的是要意识到您正在extension function实例上运行的KClass
中。因此,java
实际上是this.java
的调用,它返回与java.lang.Class
关联的KClass
。然后constructors
从Constructor
获取一个Class
的数组,而single()
从该数组中获取一个元素(并且仅抛出异常)。>
如果将代码扩展为多行,则可能更容易了解发生了什么:
val clazz: java.lang.Class = this.java // 'this' is an instance of kotlin.reflect.KClass
val ctors: kotlin.Array<Constructor> = clazz.constructors
val ctor: java.lang.reflect.Constructor = ctors.single()
single()
函数是an extension function defined on Array
(and other types)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。