使用以下类定义:
class MyClass[T : ClassTag]{
def this(stuff : T){
// ....
}
}
PY4J 将抛出以下错误:
py4j.protocol.Py4JError: An error occurred while calling None.MyClass. Trace:
py4j.Py4JException: Constructor MyClass([class java.lang.String]) does not exist
如果您尝试实例化:
myObject = _gateway.jvm.MyClass("string")
我确实在代码中的其他地方使用反射来搜索默认构造函数,但它的签名为(java.lang.Object, scala.reflection.ClassTag)
. 我不认为 PY4J 试图正确找到它。我知道,它大量使用反射,但也许它没有为这样的用例做好准备。
或者是否有任何解决方法可以成功实例化这样的泛型类?