RPG プロトタイプでのメソッド・パラメーターの不正確な指定

Java™ メソッドのプロトタイプをコード化する際、戻り値およびパラメーターのタイプを正確に指定しないと、RPG コンパイラーは、メソッド・シグニチャーを不正確にビルドします。 プログラムが実行されると、間違ったメソッドが呼び出されるか、呼び出しが NoSuchMethodError Java 例外で失敗します。

呼び出しが NoSuchMethodError Java 例外で失敗する場合、RPG エラー・メッセージは、メソッドの呼び出しで使用された署名を示します。以下の表は、Java タイプとメソッド・シグニチャー値の間のマッピングを示します。Java タイプと RPG タイプ間のマッピングについては、表 1を参照してください。

Java タイプ 署名
boolean Z
byte B
char C
short S
int I
long J
float F
double D
any object Lclass;
any array [type
Java クラスのメソッド用の有効な署名のリストを表示するには、QSH コマンドを使用します。
 javap -s classname 
ここで、classname はパッケージと共に指定されます。例: java.lang.String クラスが標準の classpath にない場合は、javap に classpath オプションを指定できます。
javap -s classname -classpath classlocation
メソッド用の有効な署名をメソッド呼び出し用の RPG で使用される署名を比べ、マッピング・テーブルから作業することによって、プロトタイプのエラーを判別できます。