gpt4 book ai didi

Kotlin 通用属性

转载 作者:行者123 更新时间:2023-12-04 22:56:23 24 4
gpt4 key购买 nike

kotlin 中有没有办法创建通用属性 没有 声明一个类级别的泛型类型?看起来像这样的东西:

interface Generic {
val t: T //I need this type only once, thats why I dont wanna pass in the class level

fun <E> gMethod(e: E) { //This works, so I'm wondering if there's something similiar to properties

}
}

最佳答案

由于documentation about generics没有提到这样的事情,我很确定这不是语言的一部分。

这很可能是因为您必须在某个时候声明属性的类型。泛型函数是有意义的,因为您使用具有某种静态类型的参数调用它们(或者在扩展函数的情况下,在此类参数上调用它们)。

问题是,为什么要拥有这样的通用属性?

当您尝试设置该属性时,您希望该属性接受什么作为值?如果答案是什么,也许它的类型应该是 AnyAny? .

这同样适用于读取它 - 您希望从该属性读取的值具有什么类型?如果您根本不想指定类型,那么它可能应该是 AnyAny? .

实际上在语言中的解决方案,即让类/接口(interface)采用类型参数,解决了这些问题。

关于Kotlin 通用属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44090011/

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