【问题标题】:CHAQUOPY - Convert Python Object to Kotlin classCHAQUOPY - 将 Python 对象转换为 Kotlin 类
【发布时间】:2021-12-17 10:13:09
【问题描述】:

在python文件中:

class Card:
    def __init__(self, name, costs):
        self.name = name
        self.costs = costs

def returnObj(string):
    card = Card(string, 2)
    return card

在 Kotlin 文件中:

val pyObject = pythonFile.callAttr("returnObj", "string")

如何将该 python 对象转换为 kotlin 类?我不知道如何使用 .toJava(Class) 方法,我试图在其中放置一个与 python 对象具有相同属性的 kotlin 类,但它给了我一个错误“没有足够的信息来推断类型变量 T”。

【问题讨论】:

    标签: python java android kotlin chaquopy


    【解决方案1】:

    Chaquopy 不支持基于相同属性名称的类之间的转换。但是,它很容易支持直接从 Python 代码创建 Kotlin/Java 对象。

    例如,如果您的 Kotlin 类是 com.example.Card,那么您可以将整个 Python Card 类替换为 from com.example import Card 行,returnObj 仍然可以正常工作。

    然后在 Kotlin 中,你可以这样写:

    val card = pythonFile.callAttr("returnObj", "string").toJava(Card::class.java)
    

    【讨论】:

      猜你喜欢
      • 2019-08-04
      • 2019-02-19
      • 2021-07-03
      • 2021-05-09
      • 2021-01-23
      • 2017-10-15
      • 2021-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多