在C#中,您可以在泛型上放置一个新约束来创建泛型参数类型的新实例,在Kotlin中是否有等价物?
现在我的工作是:
fun <T> someMethod(class : () -> T) {
val newInstance = class()
}
Run Code Online (Sandbox Code Playgroud)
而我正在调用someMethod()
someMethod<MyClass>(::MyClass)
Run Code Online (Sandbox Code Playgroud)
但我想做这样的事情:
fun <T : new> someMethod() {
val newInstance = T()
}
Run Code Online (Sandbox Code Playgroud)
那可能吗?
Kir*_*man 13
目前,这是不可能的.您可以对问题https://youtrack.jetbrains.com/issue/KT-6728竖起大拇指,投票支持添加此功能.
至少,您可以省略泛型类型,因为Kotlin可以推断它:
someMethod(::MyClass)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |