7
我有一個Java庫,我正在將一些數據從中抽出。Jruby中的Java數組
它把一個3D數組。但我無法做任何事情。
[[D[]@5615a6e0
是我得到的迴應。我試圖映射它:
{ |arr| arr.map { |arr| arr.to_a } }
但我沒有得到任何東西,什麼是解析這個Java數組的紅寶石使用最好的方法是什麼?
我有一個Java庫,我正在將一些數據從中抽出。Jruby中的Java數組
它把一個3D數組。但我無法做任何事情。
[[D[]@5615a6e0
是我得到的迴應。我試圖映射它:
{ |arr| arr.map { |arr| arr.to_a } }
但我沒有得到任何東西,什麼是解析這個Java數組的紅寶石使用最好的方法是什麼?
應該不是問題。只需使用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方法的簽名?如果它返回一個簡單的數組,你應該可以直接使用它。這看起來像一個數組數組。 – 2013-02-14 15:16:51
是它的一個3d數組,返回 – 2013-02-14 15:17:58
我很困惑那是什麼問題;你想用它做什麼,你怎麼實際使用它等等? AFAIK它應該是一個數組數組(數組,如果它真的是一個3D數組 - 我要求的方法簽名真的很好知道)。 – 2013-02-14 15:26:48