Scala泛型具有<:和多个特征

Seb*_*ber 10 generics scala traits

Java的一个几乎未知的特性是这种泛型语法:

public class Baz<T extends Foo & Bar> {}
Run Code Online (Sandbox Code Playgroud)

我想在Scala中做同样的事情,但我不知道怎么做,有人可以给我一个语法吗?

我以前:

class MongoObject[T <: CaseClass]
Run Code Online (Sandbox Code Playgroud)

现在我需要:

class MongoObject[T <: IdentifiableModel & CaseClass]
Run Code Online (Sandbox Code Playgroud)

或至少类似的东西

谢谢

Kim*_*bel 23

您可以with像在extends子句中一样使用关键字:

class MongoObject[T <: IdentifiableModel with CaseClass]
Run Code Online (Sandbox Code Playgroud)

这意味着,T必须的子类型IdentifiableModelCaseClass.

  • @SebastienLorber 感谢您接受答案,现在我有 13333 声望点:D (2认同)