外部インタフェース/API    

その他のデータ変換のトピックス

MATLABがデータをJavaタイプに変換する方法に関して、その他にも興味深い項目がいくつか残っています。これは、MATLABがどのように配列の次元を一致させるかや、空行列や空文字列をどのように扱うかを含みます。

配列の次元の変換への影響

本節で用いる用語dimension は、長さ、幅、高さの特性ではなく、配列の要素を表わすため必要なサブスクリプトの数を表わします。たとえば、5行1列配列は、個々の要素が1つの配列のサブスクリプトのみを使ってインデックス付けられる1次元として参照されます。

MATLABのJava配列への変換において、MATLABは次元を特別な方法で扱います。MATLAB配列に対して、次元は、配列内の非シングルトンの数として考えられます。たとえば、10行1列配列は次元1で、1行1列配列は次元0です。Javaでは、次元は単に入れ子形式の配列の数によって決定されます。たとえば、double[][]は次元2で、doubleは次元0です。

Java配列の次元数がMATLAB配列の次元数nと正確に一致する場合、変換の結果はn次元のJava配列になります。Java配列がnよりも小さい次元である場合、残りの次元数がJava配列内の次元数と一致するまで、変換は最初に1から始まるシングルトンの次元を落とします。

空行列とNull

空行列は、NULLがJavaにおいて有効な値である任意のメソッド引数に対して適用可能です。MATLABの空文字列('')は、Javaでは空(NULLでない)Stringオブジェクトに変換されます。


 Javaオブジェクトを渡す データをオーバロードメソッドに渡す