sooper:
私は呼んしようとしていたJava取る方法List<Class<?>>
からスカラを。
コンパイルが失敗すると
type mismatch;
found : java.util.List[Class[T]] where type T <: Person.type
required: java.util.List[Class[_]]
私はJavaConvertersを使用してみましたが、同じエラーを取得します。
Javaメソッド:
void registerClasses(List<Class<?>> var1);
スカラからの呼び出し:
def registerEntities() = registry.registerClasses(List(Person.getClass).asJava)
アレクセイ・ロマノフ:
問題はのための推論された型があることであるPerson.getClass
あなたが望むものではありません。あなたは期待タイプを指定する必要があり、これは明示的な型パラメータによって行うことができます
registry.registerClasses(List[Class[_]](Person.getClass).asJava)
タイプの帰属はここで働いていない理由(私は理解していません。
registerClasses(List(Person.getClass: Class[_]).asJava)
type mismatch;
found : java.util.List[Class[_$2]] where type _$2
required: java.util.List[Class[_]]
Note: Class[_$2] <: Class[_], but Java-defined trait List is invariant in type E.
You may wish to investigate a wildcard type such as `_ <: Class[_]`. (SLS 3.2.10)
これまでのところ、私はそれをすべきである言うことができるように。)