我有一个我在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
时它没有任何问题。
答案 0 :(得分:1)
java_send
期望其参数作为数组传递:javaArgs.java_send filename, [ file ]