下面是我用来从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)
首先,JRuby的行为略有不同,具体取决于您是以1.8模式还是1.9模式运行它.使用JRuby 1.7.0及更高版本,默认值为1.9; 与其他人一样,1.8是默认值.要更改默认的,你要么通过--1.8或--1.9以jruby在命令行上.
在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)
我希望有所帮助.
| 归档时间: |
|
| 查看次数: |
526 次 |
| 最近记录: |