読者です 読者をやめる 読者になる 読者になる

Rhino リハビリ6 Javaのクラスライブラリを使う

この記事をによくまとまっている。

何も考えずにベタに書く

var list = new java.util.ArrayList();

一番シンプル。問題はコードが長くなることか。
実はこれは省略記法で、厳密に書くには先頭にPackagesをつける必要がある。

var list = new Packages.java.util.ArrayList();

importClass(), importPackage()を使う

importClass(java.util.ArrayList);

var list = new ArrayList();
importPackage(java.util);

var list = new ArrayList();

ただしこの方法だと、グローバル名前空間を汚すのと、既にimport済みのクラスと同名別クラスをimportしようとするとエラーが発生する。積極的に使うべきものではないのかもしれない。

代入する

var ArrayList = java.util.ArrayList;

var list = new ArrayList();
var util = java.util;

var list = util.ArrayList();

JSerには判りやすい。

JavaImporterを使う

var pkg = new JavaImporter(java.util);
pkg.importClass(java.text.NumberFormat);
pkg.importPackage(java.io);

ひとつのオブジェクトにimportをまとめられるので便利かも。