0

ターゲットの型 (たとえばList[String]) とオブジェクト o が与えられた場合、目標は、ターゲットの型と互換性のある戻り値の型を持つ o のメソッドを見つけることです。

ジェネリックがない場合は、 from<:<演算子 (Java の のスカラ リフレクション アナログ)を使用してメソッドのターゲット型と戻り値の型を比較す​​ることで、これを確認できます。isAssignableFromscala.reflect.runtime.universe

このアプローチは、ジェネリックが存在する場合には機能しません。たとえば、メソッドの戻り値の型が をdef getEmptyList[T]: List[T] = Nil満たしていませんList[T] <:< List[String]getEmptyList[T]の戻り値の型が実際に と互換性があることをどのように判断 しList[String]ますか?

4

0 に答える 0