PY4J с дженериками

Со следующим определением класса:

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 пытается найти его правильно. Я знаю, что он интенсивно использует отражение, но, возможно, он не подготовлен для таких случаев использования, как этот.

Или есть ли обходной путь для успешного создания экземпляра универсального класса, подобного этому?

0 ответов

Другие вопросы по тегам