メインコンテンツ

JavaMATLAB 間のデータ変換のルール

Java から MATLAB への変換

次の表に、Java® データ型を MATLAB® 型に変換する場合のデータ変換ルールのリストを示します。この変換ルールは、リストされた型のスカラー、ベクトル、行列、および多次元配列に適用されます。

このルールは、独自のメソッドを呼び出すときのみではなく、MWArray クラスに属するコンストラクターおよびファクトリ メソッドを呼び出すときにも適用されます。

メモ

MWArray クラス メソッド コンストラクターを呼び出すときに特定のデータ型を指定すると、コンパイラは既定ではなくその型に変換します。

Java から MATLAB への変換ルール

Java 型MATLAB 型

double

double

float

single

byte

int8

int

int32

short

int16

long

int64

char

char

boolean

logical

java.lang.Double

double

java.lang.Float

single

java.lang.Byte

int8

java.lang.Integer

int32

java.lang.Long

int64

java.lang.Short

int16

java.lang.Number

double

メモ

上のリストにない java.lang.Number のサブクラスは double に変換されます。

java.lang.Boolean

logical

java.lang.Character

char

java.lang.String

char

メモ

Java 文字列は 1N 列の char 配列に変換されます。N は入力文字列の長さと等しくなります。

Java 文字列の配列 (String[]) は、MN 列の char 配列に変換されます。M は入力配列の要素数、N は配列内の最長文字列の長さと等しくなります。

より高次元の String 配列も同様に変換されます。

一般に、N 次元の String 配列は N+1 次元の char 配列に変換され、提供された文字列の長さが異なる場合は適切にゼロ パディングされます。

MATLAB から Java への変換

次の表に、MATLAB データ型を Java 型に変換する場合のデータ変換ルールのリストを示します。

メモ

この変換ルールは、リストされた型のスカラー、ベクトル、行列、および多次元配列に適用されます。

MATLAB から Java への変換ルール

MATLAB 型Java 型 (プリミティブ型)Java 型 (オブジェクト)
cell該当なし

Object

メモ

cell 配列は MWArray 配列として構成され、アクセスされます。

structure該当なし

Object

メモ

構造体配列は MWArray 配列として構成され、アクセスされます。

charcharjava.lang.Character
doubledoublejava.lang.Double
singlefloatjava.lang.Float
int8bytejava.lang.Byte
int16short

java.lang.Short

int32intjava.lang.Integer
int64longjava.lang.Long
uint8byte

java.lang.Byte

Java には、MATLAB で使用されている uint8 を表す符号なし型がありません。符号なし型の MATLAB 配列の構成およびアクセスには、変換が必要です。

uint16

short

java.lang.short

Java には、MATLAB で使用されている uint16 を表す符号なし型がありません。符号なし型の MATLAB 配列の構成およびアクセスには、変換が必要です。

uint32int

java.lang.Integer

Java には、MATLAB で使用されている uint32 を表す符号なし型がありません。符号なし型の MATLAB 配列の構成およびアクセスには、変換が必要です。

uint64long

java.lang.Long

Java には、MATLAB で使用されている uint64 を表す符号なし型がありません。符号なし型の MATLAB 配列の構成およびアクセスには、変換が必要です。

logicalbooleanjava.lang.Boolean
関数ハンドルサポートなし
Java クラスサポートなし
ユーザー クラスサポートなし

サポートされていない MATLAB 配列型

Java には、MATLAB で使用されている uint8uint16uint32、および uint64 型を表す符号なし型がありません。符号なし型の MATLAB 配列の構成およびアクセスには、変換が必要です。