Java strings and JavaScript strings
JavaとJavaScript の String は異なる。Java の String は java.lang.String 型のインスタンスなので、そのクラス定義されたメソッドを持つのに対し JavaScript の String には String.prototype で定義されたメソッドがある。 よく間違えられるのは length (Java ではメソッド、JavaScript では property)。
js> javaString = new java.lang.String("Java") Java js> jsString = "JavaScript" JavaScript js> javaString.length() 4 js> jsString.length 10
Rhino では 2つの String の違いを緩和する手段がある。まず JavaScript の Stirng を Java の String に変換し Javaメソッドに渡すことができる。上の例では java.lang.String コンストラクタで String オブジェクトを作成し、その property を参照している。
また Rhino では Java String から java.lang.String のクラス定義と衝突しない限り JavaScript メソッドを呼べる。
js> javaString.match(/a.*/) ava