【问题标题】:JRuby access charJRuby 访问字符
【发布时间】:2026-01-23 22:50:01
【问题描述】:

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

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

当我尝试使用Java::char.java_class.new(my_number) 创建Java::char 的新实例时,它会引发java.lang.*Error。好吧,在 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字符。有什么想法吗?

【问题讨论】:

    标签: char jruby type-conversion


    【解决方案1】:

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

    【讨论】: