kotlin中一个对象和一个伴侣对象有什么区别?
例:
class MyClass {
object Holder {
//something
}
companion object {
//something
}
}
Run Code Online (Sandbox Code Playgroud)
我已经读过,如果包含的参数/方法与其类密切相关,则应使用伴随对象.
但为什么还有可能在类中声明一个普通的对象?因为它的行为与伴侣完全相同,但它必须具有名称.
它的"静态"(我来自java方面)生命周期可能有所不同吗?
我做了以下工作:
val genericArray: Array<E> = (genericCollection as java.util.Collection<E>).toArray() as Array<E>
Run Code Online (Sandbox Code Playgroud)
这是正确的方法还是有更优雅的解决方案?
期待您的帮助!
编辑
我最终编写了这个辅助扩展:
fun <E> Collection<E>.toUntypedArray(): Array<E> {
@Suppress("UNCHECKED_CAST")
return arrayOf(size, this) as Array<E>
}
Run Code Online (Sandbox Code Playgroud)
你们中有人有更好的解决方案吗?
为什么Kotlin LinkedList在Kotlin标准库(stdlib)中没有实现?
如果我在JVM中使用Kotlin,我正在使用Java LinkedList 源代码.
stdlib中是否存在等价物(特别是关于Kotlin Native Development)?