下面是我用来从RubyString转换为Java字符的代码..你能否建议我更好的方式在哪里Jruby(自动处理这些类型错误或jruby中的一些代码来转换)Jruby-将RubyString转换为Java字符
ruby_string="Raj"
java.lang.String.new(col_value)
col_value=str_obj.charAt(0)
下面是我用来从RubyString转换为Java字符的代码..你能否建议我更好的方式在哪里Jruby(自动处理这些类型错误或jruby中的一些代码来转换)Jruby-将RubyString转换为Java字符
ruby_string="Raj"
java.lang.String.new(col_value)
col_value=str_obj.charAt(0)
首先,JRuby的行为有点不同,具体取决于您是以1.8模式还是1.9模式运行它。在JRuby 1.7.0及更高版本中,默认值为1.9;与其他人一样,1.8是默认值。要更改默认值,您可以在命令行上将--1.8
或--1.9
传递给jruby
。
在1.8模式下,字符串的某些操作(如在单个索引处获取字符)返回数字(Fixnum
s),而在1.9模式下,它们总是返回字符串。 JRuby会自动在0到65535之间的Ruby Fixnum
和Java char
之间进行转换,因此您可以将1.8模式的“字符”值直接传递给接受字符的Java方法;例如
str = 'foo'
java_obj.methodThatTakesAChar(str[0])
在1.9模式下,因为str[0]
是一个单字符字符串,你要它字符转换为数字。你用ord
实例方法做到这一点:
str = 'foo'
java_obj.methodThatTakesAChar(str[0].ord)
我希望有帮助。
不要忘了单击复选标记。谢谢。 – echristopherson
真的很有帮助。谢谢! –
你只是想获得ruby_string的第一个字符?你想要做什么的更广泛的目的是什么? – echristopherson
不,我试图将上面的ruby_string(ruby_string)转换为Java字符来调用接受java char作为参数的java方法 – RajKamal