使用JRuby的java.util.List

时间:2016-05-18 17:09:02

标签: java arraylist jruby

我试图从JRuby调用Java方法,并且Java方法的一个参数需要是java.util.List的实例。我不能从JRuby那里得到这个。当我尝试在JRuby中创建List对象的实例时,它没有将[]=方法用于List的赋值元素。

我认为我可能需要使用将ArrayList转换为List的方法编写自己的Java类,但我不是Java开发人员而且我不知道如何创建这个类。

编辑:我正在尝试使用名为“PDF Forms Designer”的旧开源Java软件自动创建包含表单元素的PDF,您可以在此处下载:https://sourceforge.net/projects/pdfformsdesigne/files/pdfformsdesigne/0.8b05/forms_src.zip/download

我正在尝试调用write类中定义的org.pdf.forms.writer.Writer方法。我基本上复制了publishPDF类中定义的org.pdf.forms.gui.commands.Commands方法中的代码。

我将widgets参数设置为ArrayList的实例,这在JRuby中很容易使用。我只需要将它转换为List,这样我就可以调用该方法来保存PDF文档。

以下是一些不起作用的JRuby代码:

widgets = ArrayList.new()
widgets.add(documentProperties.getPage(1).getWidgets)
widgets.add(documentProperties.getPage(2).getWidgets)
writer.write(file, widgets.to_java(java.util.List), documentProperties.getDocumentProperties()) # throws an error

1 个答案:

答案 0 :(得分:0)

java.util.ArrayList属于java.util.List类型。所以我不确定你为什么要说你需要编写一个新的类来将ArrayList转换为List。请粘贴您的代码和错误来解释问题。