Jruby-Convert RubyString转换为Java Char

Raj*_*mal 2 jruby

下面是我用来从RubyString转换为Java Char的代码..请你建议我更好的方式Jruby(自动处理这些类型错误或jruby中的一些代码转换)

ruby_string="Raj"

java.lang.String.new(col_value)
col_value=str_obj.charAt(0)
Run Code Online (Sandbox Code Playgroud)

ech*_*son 7

首先,JRuby的行为略有不同,具体取决于您是以1.8模式还是1.9模式运行它.使用JRuby 1.7.0及更高版本,默认值为1.9; 与其他人一样,1.8是默认值.要更改默认的,你要么通过--1.8--1.9jruby在命令行上.

在1.8模式下,对字符串的某些操作(如在单个索引处获取字符Fixnum)返回数字,而在1.9模式下,它们总是返回字符串.JRuby Fixnum在0到65535 之间的Ruby 和Java之间自动转换char,因此您可以将1.8模式"字符"值直接传递给接受字符的Java方法; 例如

str = 'foo'
java_obj.methodThatTakesAChar(str[0])
Run Code Online (Sandbox Code Playgroud)

在1.9模式中,由于str[0]是单字符字符串,因此必须将其字符转换为数字.您可以使用ord实例方法执行此操作:

str = 'foo'
java_obj.methodThatTakesAChar(str[0].ord)
Run Code Online (Sandbox Code Playgroud)

我希望有所帮助.

  • 不要忘记单击复选标记.谢谢. (2认同)