Main Content

Javaメソッドの呼び出し

この例では、java.util.ArrayListクラスのメソッドを呼び出す方法を説明します。この例は、MATLAB®で Java®オブジェクトを参照としてもつ意味を示します。

java.util.ArrayListクラスは Java 標準ライブラリの一部です。したがって、クラスは既に Java クラス パス上にあります。標準ライブラリ内にないクラスのメソッドを呼び出す場合は、MATLAB がメソッドを見つけられるよう Java クラス パスを更新します。詳細については、Java クラス パスを参照してください。

Javaオブジェクトを作成するクラス コンストラクターの選択

クラス コンストラクターのいずれかを使用してArrayListオブジェクトを作成します。クラス メソッドを表示して、メソッド ウィンドウでArrayListエントリを検索します。

methodsview('java.util.ArrayList')
ArrayList(java.util.Collection) ArrayList ( ) ArrayList (int)

初期容量 10 で空のリストを作成するArrayList()構文を選択します。

クラス名の短縮化

関数importを使用して、パッケージ名java.util全体を指定せずにArrayListクラスを参照します。

importjava.util.ArrayList

配列リストの作成

空のArrayListオブジェクトを作成します。

A = ArrayList;

addメソッドへのMATLABデータの受け渡し

項目をArrayListオブジェクトに追加します。メソッド ウィンドウでaddメソッドのシグネチャに注目します。

void add (int,java.lang.Object) boolean add (java.lang.Object)

boolean add(java.lang.Object)構文を選択します。引数java.lang.Objectは Java 型です。対応する MATLAB 型を見つけるには、java.lang.Object の受け渡しの表を参照してください。double引数を渡すと MATLAB はそれをjava.lang.Double型に変換します。

ArrayListへの要素の追加

addメソッドを呼び出すには、MATLAB 構文を使用します。

add(A,5); A
A = [5.0]

または、Java 構文を使用します。

A.add(10); A
A = [5.0, 10.0]

MATLABにおいてJavaオブジェクトは参照

Java オブジェクトのコピー動作を観察するには、Aを新しい変数Bに代入します。

B = A;

BAへの参照です。Bによって参照されるオブジェクトへの変更によりAのオブジェクトも変わります。MATLAB コードでも Java コードでもオブジェクトを変更できます。たとえば、Bに値を追加してからAを表示します。

add(B,15); A
A = [5.0, 10.0, 15.0]

MATLABでのArrayListオブジェクトの使用

ArrayList型の Java オブジェクトを返す Java メソッドを呼び出すとします。前の節でコマンドを呼び出した場合、変数Aには以下の値が含まれます。

class(A)
ans = 'java.util.ArrayList'
A
A = [5.0, 10.0, 15.0]

MATLAB でAを使用するには、オブジェクトをjava.lang.Object型またはプリミティブ型に変換します。その後、MATLAB 関数cellおよびcell2matを適用します。

ArrayListメソッド ウィンドウで、ArrayListjava.lang.Object[]に変換するtoArrayメソッドを見つけます。

java.lang.Object[] toArray (java.lang.Object[])

Ajava.lang.Objectに変換します。

res = toArray(A)
res = java.lang.Object[]: [ 5] [10] [15]

出力を MATLAB 型に変換します。

res =细胞(res) '
res = 1×3 cell array [5] [10] [15]

この値を行列に変換するには、要素が同じ型でなければなりません。この例では、値をdouble型に変換します。

data = cell2mat(res)
data = 5 10 15

参考

|

関連する例

詳細

外部のWebサイト