Generics Require字段在不使用类型参数的情况下实现多个接口
我使用类型参数Generics Require字段在不使用类型参数的情况下实现多个接口,generics,kotlin,Generics,Kotlin,我使用类型参数T来强制值成为字符串的可序列化集合 class Foo<T>(val values: T) where T : Collection<String>, T : Serializable 类Foo(val值:T),其中T:Collection,T:Serializable 在没有类型参数的情况下是否可能获得类似的结果? 理想的解决方案如下伪代码所示: class Foo(val values: Collection<String> &
T
来强制值
成为字符串的可序列化集合
class Foo<T>(val values: T) where T : Collection<String>, T : Serializable
类Foo(val值:T),其中T:Collection,T:Serializable
在没有类型参数的情况下是否可能获得类似的结果?
理想的解决方案如下伪代码所示:
class Foo(val values: Collection<String> & Serializable)
class Foo(val值:集合和可序列化)
无法指定一个对象必须实现两个接口,但是如果在运行时进行检查,您可以这样做,但问题是它们是在运行时进行的检查,因此在编译时它们看起来是正常的
因此,为了更好地实现这一点,您应该创建实现这两个接口的第三个接口,并接受实现第三个接口的值
接口SerializableCollection:集合,可序列化
类Foo(val值:SerializableCollection)
可能这是这里唯一的解决方案,请参见java中的