oxbow_lakes
質問する
374 次
1 に答える
2
コードの最後のブロックは、エミュレートしている Java コードをより厳密に模倣しています。変更可能な Set の読み取り専用ビューを返します。
つまり、この状況では、バッキング実装が immutable.Set[ProductImpl] であり、immutable.Set[IProduct] を返したい場合、安全にキャストできます。
import scala.collection._
trait IProduct
class ProductImpl extends IProduct
val productsByIsin: immutable.Map[String, immutable.Set[ProductImpl]] =
immutable.Map.empty
def getProducts(isin: String): immutable.Set[IProduct] =
productsByIsin.getOrElse(isin, immutable.Set.empty).asInstanceOf[immutable.Set[IProduct]]
于 2009-03-25T09:06:38.187 に答える