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
クラスを参照します。
import java.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;
B
は A
への参照です。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
メソッド ウィンドウで、ArrayList
を java.lang.Object[]
に変換する toArray
メソッドを見つけます。
java.lang.Object[] toArray (java.lang.Object[])
A
を java.lang.Object
に変換します。
res = toArray(A)
res = java.lang.Object[]: [ 5] [10] [15]
出力を MATLAB 型に変換します。
res = cell(res)'
res = 1×3 cell array [5] [10] [15]
この値を行列に変換するには、要素が同じ型でなければなりません。この例では、値を double
型に変換します。
data = cell2mat(res)
data = 5 10 15