/ / Сплит Java струни в Rhino - java, javascript, rhino

Разделяне на Java струни в Rhino - java, javascript, rhino

Опитвам се да разделям java низ в програма на Rhino javascript

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

които ми дават грешката

js: Не може да се намери метод java.lang.String.split ().

Документите на Rhino споменаха, че всички javascriptМетодите String.prototype (като съвпадение, разделяне и т.н.) са налични на java string, ако те вече не са предоставени от java.lang.String.

Отговори:

3 за отговор № 1

Обърнете внимание на документите на Java: http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html

Не изглежда да е конструктор с 0 параметъра за метода на разделяне. Трябва да го предавате на нормален израз.

Също така, за по-нататъшно изясняване, сплит методът връща масив от низове, това не е невалиден метод, подобен на начина, по който го използвате във вашия примерен код.


2 за отговор № 2

split приема аргумент, който е регулярният израз, който искате да използвате, за да разделите вашите символи.

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


2 за отговор № 3

Rhino осигурява само методите, които java.lang.String липсва и split очевидно не е един от тях.

За да използвате JavaScript 's изпълнението на split, трябва да конвертирате Java низ в 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 за отговор № 4

Не съвсем същият контекст, но може да помогне на някой.

Използвам JavaScript функцията split () в Rhino.

За да работим, следвам модела:

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

Предполагам, че "" + принуждава Rhino да използва JavaScript тип String.

Когато забравя да добавя "" + тогава получих съобщението

TypeError: split is not a function.

0 за отговор № 5

Възможно е да го използвате неправилно.
Не се ли разделя изискването за параметър за низ?