我想将Java类传递给JRuby方法,并在方法中实例化类对象(我想要一种在一组Java类上运行某些测试的通用方法,需要实例化一个数量的这些对象,直到运行时才知道)的:将Java类作为参数传递给JRuby方法
#...
somethingMethod(Bar)
#....
def somethingMethod(javaClass)
number.each do |n|
fu=javaClass.new
#...otherStuff
end
end
但这似乎并没有被这种方式是可行的。我得到:
Failure/Error: somethingMethod(Bar)
NameError:
uninitialized constant Bar
# somethingTest.rb:45:in `(root)'
我也试过使用完全合格的类名:相同的结果。 谢谢。
问题是我使用com.foo.Bar而不是com :: foo :: Bar来完全限定类名(!)。和'javaClass.java_class.new'确实没有**工作:'失败/错误:somethingMethod(com :: foo :: Bar) NoMethodError: 未定义的方法new for com.foo.Bar::JavaClass' – ggg 2012-01-10 16:29:53
谢谢! :-) – ggg 2012-01-10 16:35:21