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ď č. 1Pozrite 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?