我试图从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
答案 0 :(得分:0)
java.util.ArrayList
属于java.util.List
类型。所以我不确定你为什么要说你需要编写一个新的类来将ArrayList
转换为List
。请粘贴您的代码和错误来解释问题。