簡體   English   中英

將python列表返回到Java

[英]Returning python list to Java

我有一個Java應用程序,它調用了一些Python代碼。 我在理解如何將列表從Python返回到Java時遇到一些問題。

假設我有一個非常簡單的python模塊,如下所示:

def myFunc(param):
    print param
    return [ ["a","b"] , ["c","d"] , ["e","f"] ]

還有一段調用此函數的java代碼:

String funcName = "myFunc";
try {
    PythonInterpreter interpreter = new PythonInterpreter();
    interpreter.exec("from myModule import * \n");
    PyObject someFunc = interpreter.get(funcName);
    someFunc.__call__(new PyString(workspacePath),new PyString(deployName));
}
catch(Exception e){
    e.printStackTrace();
    throw new Exception("Error while generating client resources.", e);
}

如何將返回的對象轉換為可以輕松迭代的對象? 如何提取列表中存在的字符串?

我試着用PyList或Iterable PyObject弄亂了一點,但到目前為止沒有成功。 任何想法?

謝謝

您可以構造Java對象。 如果目標使用者是Java程序,那可能就是要做的事情。

import java.util.ArrayList as ArrayList
import java.lang.String as String
...
javaList = ArrayList()
for subList in [ ["a","b"] , ["c","d"] , ["e","f"] ]:
    javaSubList = ArrayList()
    for s in subList:
        javaSubList.add(String(s))
    javaList.add(javaSubList)
return javaList

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM