Java オブジェクトの配列の作成
MATLAB® 関数 javaArray
を使用すると、MATLAB で単一の多次元配列として処理される Java® 配列が作成されます。保存先のオブジェクトのクラスと共に、配列の次元の数とサイズを指定します。1 次元の Java 配列を主要な基本構成として、MATLAB は、javaArray
コマンドで要求される次元に適合する Java 配列を構築します。
Java オブジェクト配列の作成には、MATLAB 関数 javaArray
を使用します。たとえば、以下のコマンドで作成される Java 配列は 4 つの下位レベルの配列から成り、それぞれが java.lang.Double
クラスの 5 つのオブジェクトを含んでいます。
dblArray = javaArray('java.lang.Double',4,5);
関数 javaArray
は配列の値を初期化しません。以下のコードは、ランダムに生成されたデータを含む MATLAB 配列 A
の最初の 4 行を dblArray
にコピーします。
A = rand(5); for m = 1:4 for n = 1:5 dblArray(m,n) = java.lang.Double(A(m,n)); end end dblArray
dblArray = java.lang.Double[][]: [0.7577] [0.7060] [0.8235] [0.4387] [0.4898] [0.7431] [0.0318] [0.6948] [0.3816] [0.4456] [0.3922] [0.2769] [0.3171] [0.7655] [0.6463] [0.6555] [0.0462] [0.9502] [0.7952] [0.7094]
A
の各要素を java.lang.Double
型に変換しなければなりません。詳細については、Java オブジェクトの受け渡しを参照してください。
Java プリミティブ型の配列の作成
Java プリミティブ型の配列を Java メソッドに渡すには、同等の MATLAB 型の配列で渡さなければなりません。型のマッピングの詳細については、MATLAB 型の Java 型へのマッピングを参照してください。
たとえば、以下のメソッド ウィンドウのコンストラクターを確認して、java.awt.Polygon
を作成します。
methodsview('java.awt.Polygon')
以下のコンストラクターは、Java int
の配列を使用しています。
Polygon (int[],int[],int)
MATLAB は MATLAB double
を Java スカラーまたは配列 int
に変換します。2 つの MATLAB 配列を作成して、多角形の 4 つの点を特定します。
x = [10 40 95 125 10]; y = [50 15 0 60 50]; polygon = java.awt.Polygon(x,y,length(x));
Polygon
オブジェクト メソッド contains
を呼び出すには、メソッド ウィンドウのシグネチャを確認します。
boolean contains (double,double)
MATLAB は MATLAB double
を Java double
に変換します。以下のステートメントは、点 (50,40) が多角形内にあるかどうかを確認します。
contains(polygon,50,40)
ans = logical 1