COBOL data items are exposed as the following Java types, when the code is compiled with the ILSMARTLINKAGE directive:
| Native COBOL | Java type | JVM COBOL | 
|---|---|---|
| PIC X(n) | String | string | 
| PIC S9(n) where n <= 2 | byte | binary-char | 
| PIC 9(n) where n <= 2 | byte | binary-char unsigned Tip: You can use byte (or BYTE) as a synonym for binary-char unsigned. 
                            | 
| PIC S9(n) where 2 < n <= 4 | short | binary-short | 
| PIC 9(n) where 2 < n <= 4 | short | binary-short unsigned | 
| PIC S9(n) where 4 < n <= 9 | int | binary-long | 
| PIC 9(n) where 4 < n <= 9 | int | binary-long unsigned | 
| PIC S9(n) where 9 < n <= 19 | long | binary-double | 
| PIC 9(n) where 9 < n <= 19 | long | binary-double unsigned | 
| PIC 9(n)V9(m) | See JVMDECIMAL | decimal | 
| COMP-1 | float | float-short | 
| COMP-2 | double | float-long | 
| PIC Z9 (and any numeric edited) | String | string | 
| PIC A(n) | String | string | 
| Group item | String | string |