JVM COBOL では、バイト配列は、JVM 専用タイプ java.lang.Byte[] を使用して保存されます。バイト配列は、01 レベルで COBOL テーブルとして宣言する必要があります。サイズは 01 定義の一部として定義できます。あるいは、ANY キーワードを使用して定義しないでおくこともできます。次に例を示します。
01 b java.lang.Byte occurs any.
タイプ・バイト配列はオブジェクトですが、ネイティブ・エントリ・ポイントのリファレンスで渡すことができます。これは、一次元配列にのみ適用されます。
配列に含まれるバイトは、同じサイズのネイティブ・メモリのセクションに変更されずにコピーされ、この一部のメモリに対するリファレンスがネイティブ・コードに渡されます。これは、COBOL では pic x データに相当し、C では char* データに相当します。次に例を示します。
JVM COBOL:
01 b java.lang.Byte occurs any. 01 i binary-long. set size of b to 1024 perform varying i from 1 by 1 until i > 1024 set b(i) to i /8 end-perform call "JVM_LOAD_NATIVE" "doStuff" call "doStuffWith1k" using by reference b
ネイティブ COBOL:
linkage section. 01 b pic x(1024). ... entry "doStuffWith1k" using by reference b. ...