COBOL プログラムで配列を表すには、Java タイプの配列に対応するデータ型の単一基本項目が含まれているグループ項目をコーディングします。 その配列に適した OCCURS または OCCURS DEPENDING ON 文節を指定します。
例えば、次のコードは、jlongArray オブジェクトから 500 以下の整数値を受け取る構造を指定します。
01 longArray.
02 X pic S9(10) comp-5 occurs 1 to 500 times depending on N.
特殊な Java 配列クラスのオブジェクトを操作するには、JNI が提供する サービスを呼び出します。サービスを使用して、配列の個々のエレメントにアクセスして設定し、呼び出したサービスを使用して、以下を行います。
| サービス | 入力引数 | 戻り値 | 目的 |
|---|---|---|---|
| GetArrayLength |
|
2 進数フルワード整数としての配列の長さ | Java 配列オブジェクト内のエレメント数を取得する |
| NewBooleanArray、 NewByteArray、 NewCharArray、 NewShortArray、 NewIntArray、 NewLongArray |
|
配列オブジェクトの参照、または配列を構成できない場合は NULL | 新しい Java 配列オブジェクトを作成する |
| GetBooleanArrayElements、 GetByteArrayElements、 GetCharArrayElements、 GetShortArrayElements、 GetIntArrayElements、 GetLongArrayElements |
|
ストレージ・バッファーへのポインター | 配列エレメントを Java 配列からストレージ・バッファーに 抽出する。サービスにより、ポインターがストレージ・バッファーに戻される。ポインターは、LINKAGE SECTION に定義される COBOL グループ・データ項目のアドレスとして使用することができる。 |
| ReleaseBooleanArrayElements、 ReleaseByteArrayElements、 ReleaseCharArrayElements、 ReleaseShortArrayElements、 ReleaseIntArrayElements、 ReleaseLongArrayElements |
|
なし。配列のストレージは解放される。 | Java 配列から抽出したエレメントが含まれているストレージ・バッファーを 解放し、条件によっては、更新された配列値を配列オブジェクトにマップして戻す。 |
| NewObjectArray |
|
配列オブジェクトの参照、または配列を構成できない場合は NULL1。 | 新しい Java オブジェクト配列を作成する。 |
| GetObjectArrayElement |
|
オブジェクト参照 2 | オブジェクト配列内の特定の索引のエレメントを返す。 |
| SetObjectArrayElement |
|
なし 3 | オブジェクト配列内のエレメントを設定する。 |
|
|||
例: java コマンドを使用して実行できる COBOL アプリケーション
例: Java int 配列の処理
関連タスク
COBOL および Java での相互運用可能なデータ型のコーディング
Java 用の配列およびストリングの宣言
JNI サービスへのアクセス