1

現在、次のようにデフォルトの空のマップで引数を宣言してscala.collection.mutable.MultiMapいます。

case class MyClass(myMap: MultiMap[String, MyType] = new HashMap[String, Set[MyType]] with MultiMap[String, MyType]

これは本当に冗長に思えます。私がやりたいのは、空のデフォルト引数を指定することだけですMultiMap。これを行うよりエレガントな方法はありますか?

(スカラ 2.10.2)

4

1 に答える 1

1

それほど優れているわけではありませんが、次のとおりです。

// import collection.mutable.{ HashMap, MultiMap, Set }

class MyType
type MM = MultiMap[String, MyType]
case class MyClass(myMap: MM = new HashMap[String, Set[MyType]] with MM)
于 2013-10-03T12:36:48.347 に答える