0

我正在尝试使用参数类型为的 Java 类中的方法char,但我似乎无法让它工作。如果我尝试构建 的新实例java.lang.Character,则会引发错误:

org.jruby.exceptions.RaiseException: (TypeError) cannot convert instance of class org.jruby.java.proxies.ConcreteJavaProxy to char
...[stacktrace; not important]...

当我尝试创建Java::charusing的新实例时Java::char.java_class.new(my_number),它会引发java.lang.StackOverflowError. 好吧,在 jirb 中,它给了我这个:

NoMethodError: undefined method `new' for class char:Java::JavaClass

或者如果我使用Java::char.to_java.new(my_number),它会给出错误:

NoMethodError: undefined method `new' for #<Class:0x1556b277f>

我真的很纠结该怎么做;我所需要的只是以某种方式获得一个可以成功通过类型系统的java字符。有任何想法吗?

4

1 回答 1

1

弄清楚了; 显然,如果需要,Jruby 会强制将 Ruby Fixnums 转换为 Java 字符。问题解决了。

于 2012-05-31T04:27:33.983 回答