Main Content

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

参考

関連するトピック