外部インタフェース/API | ![]() ![]() |
組み込みデータタイプを渡す
Javaは、言語固有でJavaオブジェクトとして表現されない8個のデータタイプをもちます。これらは、組み込み、あるいは基本的な データタイプとして参照され、boolean
, byte
, short
, long
, int
, double
, float
, char
を含みます。MATLABは、独自のデータを表「MATLABタイプからJavaタイプへの変換」に従ってこれらのJava組み込みタイプに変換します。組み込みタイプは、表の最初の10行にあります。
呼び出しているJavaメソッドがこれらのデータタイプのうちの1つを要求する場合、表の一番左の列のMATLAB引数のタイプを渡すことができます。メソッドがこれらのタイプの配列を受け取る場合、そのデータタイプのMATLAB配列を渡すことができます。MATLABは、引数のデータタイプをメソッドの宣言で割り当てられたタイプに変換します。
下記のMATLABコードは、最上位のウィンドウフレームを作成し、次元を設定します。setBounds
の呼び出しは、4つのdouble
タイプのMATLABスカラを、int
タイプの4つの引数を受け取る継承されたJava FrameメソッドsetBounds
に渡します。MATLABは、呼び出しの前に各64ビットdoubleデータタイプを32ビット整数に変換します。以下は、setBounds
メソッドの宣言と、メソッドを呼び出すMATLABコードです。
public void setBounds(int x, int y, int width, int height) frame=java.awt.Frame; frame.setBounds(200,200,800,400); frame.setVisible(1);
配列の組み込みタイプを渡す
組み込みタイプの配列 として定義された引数を使ってJavaメソッドを呼び出すと、互換性のあるベースタイプをもつMATLAB行列を作成して渡すことができます。つぎのコードは、4つのx
とy
座標をPolygonコンストラクタに渡して多角形を定義します。2つのdouble
の1行4列MATLAB配列は、最初の2つの引数が整数配列であると考えられるjava.awt.Polygon
に渡されます。以下は、Javaメソッドの宣言と、メソッドを呼び出し、座標を検証するMATLABコードです。
public Polygon(int xpoints[], int ypoints[], int npoints) poly = java.awt.Polygon([14 42 98 124], [55 12 -2 62], 4); [poly.xpoints poly.ypoints] % Verify the coordinates ans = 14 55 42 12 98 -2 124 62
MATLAB配列は値によって渡されます
MATLAB配列は値によって渡されるので、それらに対してJavaメソッドが行う変更は、MATLABコードでは見ることができません。Javaメソッドが配列に対して行う変更にアクセスする必要がある場合は、MATLAB配列を渡すよりも、リファレンスであるJava配列を作成して渡すべきです。MATLABでのJava配列の利用に関する説明は、「Java配列の利用」を参照してください。
![]() | Javaメソッドにデータを渡す | 文字列引数を渡す | ![]() |