我有一个 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"