gpt4 book ai didi

generics - 如何使 Kotlin 泛型方法静态化?

转载 作者:行者123 更新时间:2023-12-05 08:40:11 25 4
gpt4 key购买 nike

我知道可以用 Java 编写静态泛型方法。

我尝试在 Kotlin 中实现自己的解决方案,但失败了。

class Wrapper<T>
{
companion object <T> // error: Type parameters are not allowed for objects.
{
private var value: T? = null

// implement some methods
}
}

有什么方法可以在 Kotlin 中实现静态泛型方法吗?

最佳答案

companion object不是方法。事实上,它是一个 object这是Wrapper的伴侣类,因此它无法知道父类的泛型类型。同样的事情适用于 Java:

public class Wrapper<T> {
public static T value; //ERROR
}

在此companion object内您可以声明将是 static 的方法和字段在 Java 世界中。

class Wrapper<T>
{
companion object
{
fun <T> genericMethod(){

}
}
}

但请记住 Wrapper<T> 的类型未与类型 T 连接在 fun <T> genericMethod() .

关于generics - 如何使 Kotlin 泛型方法静态化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56754283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com