arg 不能被强制到 java.util.List?有人可以告诉我我的代码中出了什么问题吗?


myDict = {'itemkey1':'itemvalue1', 'itemkey2':'itemkey2','itemkey3':'itemvalue3','itemkey4':'itemvalue4'};
event = portTest.event(myDict);

我收到以下错误

Aborted run: Jython exception: TypeError:arg can't be coerced to java.util.List

myDict是键值的数组。

我希望我myDict为数据列表传递正确的语法keyvalue[]因为它刚刚获得了键值对。

public Response event(KeyValue[] dataList)

我正在使用研磨工具从 jython 脚本调用 java 中的事件函数。

您需要将字典转换为一系列键和值:

def chainDict(mapping):
    items = []
    for item in mapping.iteritems():
        items.extend(item)
    return items
event = portTest.event(chainDict(myDict))

这会将[keyFoo, valueFoo keyBar, valueBar]列表传递给 event 方法,其中键和值是配对的,但顺序任意。

如果没有可用的itertools模块,可以将chain定义为:

您需要

显式传递myDict.items()而不是myDict KeyValue对,myDict.keys()键,或myDict.values()错误,值...

相关内容

  • 没有找到相关文章

最新更新