与えられた:
class Foo[T] {
def get: T
}
class Bar
class FooBar extends Foo[Bar] {
def get = new Bar
}
object Baz {
def something [T, U <: Foo[T]] (foo : Class[U]): T = foo.newInstance.get
}
私はこのようなことをすることができるはずですよね?
Baz.something(classOf[FooBar])
不思議なことに、これは投げています:
inferred type arguments [Nothing,this.FooBar] do not conform to method something's type parameter bounds [T,U <: this.Foo[T]]
これは奇妙です:S。ところで、私がここに書いたものと同等のいくつかのJavaコードを移行しているときにこの問題が発生し、正常に動作しています。