3

使用以下类定义:

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 试图正确找到它。我知道,它大量使用反射,但也许它没有为这样的用例做好准备。

或者是否有任何解决方法可以成功实例化这样的泛型类?

4

0 回答 0