2

我有一个基类 Base,还有两个特征,比如 Trait1 和 Trait2。

我想用这三样东西写一个参数化的类。

在斯卡拉我做:

class C[T <: Base with Trait1 with Trait2] { … }

在科特林我正在尝试:

class C<T : Base, Trait1, Trait2> { … }

但也不好,Trait1 和 Trait2 是更多类型参数。

有没有办法写这个?

4

1 回答 1

6

正如诺亚的回答和本页所建议的那样,您应该使用where指定多个上限:

class C<T: Base> where T: Trait1, T: Trait2 {...}
于 2014-09-20T21:41:27.650 回答