2013-02-14 7 views
7

私はいくつかのデータを引き出しているJavaのlibを持っています。JrubyのJava配列

出力は3D配列です。しかし、私はそれで何もできません。

[[D[]@5615a6e0 

です。ルビーは、使用のために、このJava配列を解析するための最良の方法は何ですか、

{ |arr| arr.map { |arr| arr.to_a } } 

しかし、私は何も出ません:私はそれをマッピングしようとしていますか?

+0

をJavaメソッドのシグネチャは何ですか?単純な配列を返す場合はそのまま使用することができます。それは配列の配列のように見えます。 –

+0

はい返されたその3d配列 –

+0

私は問題が何であるか混乱しています。あなたはそれで何をしようとしていますか、どうやってそれを実際に使っていますか? AFAIKは、配列の配列(実際には3D配列の場合は配列の配列でなければなりません。 –

答えて

9

問題ではありません。

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のコード::ちょうどto_a

Javaコードの使用

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"