1

Scala では、テンプレートの型に任意の制限を設けることは可能ですか? 私が取り組んでいる特定のケースでは、次のように 2 つのテンプレート パラメーターを持つクラスがあります。

class TwoWayMap[S,T]( )
{
    ...
}

私は、ユーザーが両方向でキーを検索できるように、マップのペアの薄いラッパーに向けて作業しようとしています。2 つの型が同じにならないように制限すると、型に基づいて値を検索できるようになり、次の両方を記述できるようになります。

def apply( t : T )
def apply( s : S )

しかし、型が同じだと明らかにこれはうまくいかないので、 S != T を制限したいと思います

4

2 に答える 2

2

Java 型の消去により、とdef apply(t: T)の両方があいまいになります。def apply(s: S)def apply(...: Object)

したがって、S != Tこれに対する制限が見つかったとしても、それは不可能です。

于 2013-04-12T09:33:56.763 に答える