jruby - 从符号设置java对象

时间:2015-10-06 18:16:23

标签: java jruby

我有一个我在jruby项目中使用的java类,在ruby中我可以通过send方法为对象设置一个值。我在jruby中也这样做,但使用java_send方法。但是,当我尝试使用此功能时,我收到以下错误TypeError: can't convert Java::JavaIo::File into Array from org/jruby/java/proxies/JavaProxy.java:321:in 'java_send'

我有一个java实例,我需要通过符号调用该对象。以下是我在代码中所做的事情:

OUTPUT_FILES = [:make, :model]

javaArgs = javaArgs.new
OUTPUT_FILES.each do |filename|
   file = java.io.File.new(path, "#{filename.to_s.underscore}.csv")
   file.createNewFile
   javaArgs.java_send(filename, file)
end

只是为了确保我做javaArgs.make = file时它没有任何问题。

1 个答案:

答案 0 :(得分:1)

java_send期望其参数作为数组传递:javaArgs.java_send filename, [ file ]