我有一个基类 Base,还有两个特征,比如 Trait1 和 Trait2。
我想用这三样东西写一个参数化的类。
在斯卡拉我做:
class C[T <: Base with Trait1 with Trait2] { … }
在科特林我正在尝试:
class C<T : Base, Trait1, Trait2> { … }
但也不好,Trait1 和 Trait2 是更多类型参数。
有没有办法写这个?
正如诺亚的回答和本页所建议的那样,您应该使用where
指定多个上限:
class C<T: Base> where T: Trait1, T: Trait2 {...}