/ Rozdeliť java reťazce v Rhino - java, javascript, nosorožec

Split java reťazca v Rhine - java, javascript, nosorožca

Pokúšam sa rozdeliť javovku v programe javascript Rhino

var s = new java.lang.String("1 2 3");
s.split();

ktoré mi dávajú chybu

js: Nemôžem nájsť metódu java.lang.String.split ().

Dokumenty Rhino uviedli, že všetky javascriptString.prototype metódy (ako sú zápasy, rozdelenie atď.) Sú k dispozícii na java reťazci, ak "už nie sú poskytované java.lang.String.Akékoľvek nápady na čo sa tu deje?

odpovede:

3 pre odpoveď č. 1

Pozrite sa na dokumentáciu Java: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

Zdá sa, že nie je konštruktorom parametrov 0 pre metódu rozdelenia. Musíte ju prejsť regulárnym výrazom.

Pre ďalšie objasnenie metóda rozdelenia vráti reťazec pole, nie je to neplatná metóda, ako ste ju použili vo svojom vzorovom kóde.


2 pre odpoveď č. 2

split má argument, ktorý je regulárny výraz, ktorý chcete použiť na rozdelenie žetónov.

http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html


2 pre odpoveď č. 3

Rhino poskytuje iba metódy java.lang.String chýba a split zrejme nie je jedným z nich.

Ak chcete použiť JavaScript implementáciu split, budete musieť konvertovať Java reťazec na jeden JavaScript:

var s = String(new java.lang.String("1 2 3"));
// Also valid: var s = "" + new java.lang.String("1 2 3");
print(s.split()); // 1 2 3

1 pre odpoveď č. 4

Nie je to presne ten istý kontext, ale môže niekomu pomôcť.

Používam funkciu JavaScript split () v službe Rhino.

Aby som pracoval, postupujem takto:

var l_VAR = "" + some_function();
var l_VARs = l_VAR.split("%%");

Predpokladám, že "" núti Rhino používať typ reťazca JavaScript.

Keď som zabudol pridať "" +, potom som dostal správu

TypeError: split is not a function.

0 pre odpoveď č. 5

Možno to nesprávne používate.
Nie sa rozdeliť vyžaduje reťazec parameter?