JavascriptでJavaの配列を扱う方法

記事内に広告が含まれています。

JavascriptからJavaで作成したクラスをPackages文で利用する際にメソッドの引数にint型の配列を使うクラスがどうしてもうまく扱えず、利用を断念し、それと似た機能を自分で実装してました。

JavascriptでJavaのint[]の配列を扱う

JavascriptからJavaで作成したクラスをPackages文で利用する際にメソッドの引数にint型の配列を使うクラスがどうしてもうまく扱えず、利用を断念し、それと似た機能を自分で実装してました。

Javaのjava.lang.Integer.TYPEを使う

どうしてもできないのかJavaDocを眺めていると「java.lang.Integer.TYPE」という定数を発見しました。

該当には「int のプリミティブ型を表す Class インスタンス」とあるので、これは使えるかもと言う事で、早速実証。
JavascriptでJavaのint[]の配列を扱う方法を発見。

java.lang.Integer.TYPEを使ったソース

//Javaのint配列を作成する
var col_width = java.lang.reflect.Array.newInstance( java.lang.Integer.TYPE , 4 ) ;
//Javaのint配列に値を設定する
col_width[ 0 ] = new java.lang.Integer( 50 ).intValue() ;
col_width[ 1 ] = new java.lang.Integer( 20 ).intValue() ;
col_width[ 2 ] = new java.lang.Integer( 30 ).intValue() ;
col_width[ 3 ] = new java.lang.Integer( 40 ).intValue() ;

方法としては「java.lang.reflect.Array」のインスタンスを使用したい配列の数を指定して作成し、作成したオブジェクトにJavaのint型の値を設定して使用したいメソッドの引数に指定します。

この方法でJavaScriptからJavaのオブジェクトの利用範囲がぐっと広がり、コーディング量も減らすことが可能になると同時に一定の品質も保てるようになります。

タイトルとURLをコピーしました