目前在Jruby中编写类似的java类时遇到了一个问题。
示例:
在Java中:
public class Client extends ClientConnection<ChannelType> {
//do some stuff
}
在Jruby:
class Client < Java::'package_name'::ClientConnection
//do some stuff
end
在重写Client类时,不知道如何在Jruby代码中传递ChannelType类
答案 0 :(得分:0)
简短的版本是,你不能不幸。
JRuby wiki在这里解释了它(https://github.com/jruby/jruby/wiki/CallingJavaFromJRuby#beware-of-java-generics):
如果使用Java泛型定义了Java类,则在编译期间会删除这些类型以实现向后兼容性。因此,JRuby将出现自动类型转换问题。例如,如果你有一个Map,它将被视为一个简单的Map,JRuby将无法使用反射确定正确的类型。