我有一个Java库,正在提取一些数据。
它放出一个3D阵列。但是我对此无能为力。
[[D[]@5615a6e0
是我得到的回应。我尝试映射它:
{ |arr| arr.map { |arr| arr.to_a } }
但我什么也没搞清楚,解析此java数组供ruby使用的最佳方法是什么?
最佳答案
应该没问题。只需使用to_a
Java代码:
package com.test.sof;
public class MyTest {
public static int[] ReturnTestArray() {
int[] anArray = new int[3];
anArray[0] = 1;
anArray[1] = 2;
anArray[2] = 3;
return anArray;
}
}
JRuby代码:
require 'java'
java_import com.test.sof.MyTest
java_array = MyTest.ReturnTestArray
p java_array
#=> int[1, 2, 3]@484c6b
ruby_array = Array.new
p ruby_array
#=> []
ruby_array = java_array.to_a
p ruby_array.size
#=> 3
p ruby_array.join(', ')
#=> "1, 2, 3"
关于java - Jruby中的Java数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14877934/