外部インタフェース/API    

Javaメソッドにデータを渡す

MATLABからJavaコードへの呼び出しを行うとき、呼び出しで渡すMATLABのデータタイプは、Java言語ネイティブなデータタイプに変換されます。MATLABは、既にJavaオブジェクトである引数を除いて、渡されるすべての引数に対してこの変換を行います。本節では、MATLAB固有のデータタイプに対して行われる変換について説明し、最後にオーバロードメソッドに対する呼び出しに引数が与える影響について説明します。

データが呼び出されるメソッドによって出力される場合、MATLABはこのデータを受信し、必要ならば適切なMATLAB書式に変換します。このプロセスは、「Javaメソッドで出力されるデータの取り扱い」で説明します。

本節では、つぎのトピックスを説明します。

MATLAB引数データの変換

Javaメソッドに引数として渡されるMATLABデータは、MATLABによって、Java言語データを最も適切に表わすデータタイプに変換されます。。下記の表は、渡される引数に対するすべてのMATLABベースのタイプと、入力引数に対して定義されるJavaベースのタイプを示します。各行は、マッチに近い順番に左から右に、MATLABタイプの後に一致するJava引数を示します。MATLABタイプ(セル配列以外)は、すべてのスカラ(1行1列)配列あるいは行列です。すべてのJavaタイプは、スカラ値あるいは配列です。

表5-2: MATLABタイプのJavaタイプへの変換  
MATLAB引数
最も近いタイプ(7)
Java入力引数(スカラまたは配列)
最も近くないタイプ(1)
double (logical)
boolean
byte
short
int
long
float
double
double
double
float
long
int
short
byte
boolean
single
float
double





char
String
char





uint8
byte
short
int
long
float
double

uint16
short
int
long
float
double


uint32
int
long
float
double



int8
byte
short
int
long
float
double

int16
short
int
long
float
double


int32
int
long
float
double



cell array of strings
array of String






Java object
Object






cell array of object
array of Object






Javaコードに渡される引数のデータタイプ変換は、つぎの3つのカテゴリで説明します。MATLABの各カテゴリの取り扱い方は異なります。


 Java配列のコピーの作成 組み込みデータタイプを渡す