1
Я новичок в Ruby & Jruby. Я хочу, чтобы проверить некоторые товары из JRuby в Java кодеПреобразование экземпляра класса org.jruby.RubyArray в класс java.util.ArrayList
Вот мой код:
import java.util.ArrayList;
import java.util.HashMap;
import org.jruby.embed.LocalVariableBehavior;
import org.jruby.embed.ScriptingContainer;
public class Test {
public static void main(String[] args){
ScriptingContainer container = new ScriptingContainer(LocalVariableBehavior.PERSISTENT);
Test t = new Test();
LogStatBean bean = t.new LogStatBean();
container.setHomeDirectory("classpath:/META-INF/jruby.home");
container.put("bean", bean);
container.runScriptlet("arr = [1, 2, 3, 4, 5, 6]");
container.runScriptlet("puts arr");
container.runScriptlet("bean.setOutput(arr) ");
System.out.println(bean.getOutput());
}
public class LogStatBean {
public ArrayList<HashMap<String, Object>> getOutput() {
return output;
}
public void setOutput(ArrayList<HashMap<String, Object>> output) {
this.output = output;
}
public ArrayList<HashMap<String, Object>> output;
}
}
Я не могу установить локальную переменную Java с типом ArrayList в JRuby, это вызовет ошибку
TypeError: cannot convert instance of class org.jruby.RubyArray to class java.util.ArrayList
(root) at <script>:1
Что мне делать?