使用以下类定义:
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试图正确找到它。我知道,它大量使用反射,但也许它没有为这样的用例做好准备。
或者有没有成功实例化这样的泛型类的解决方法?