Если Вы передаёте любой иной объект JavaScript в качестве параметра Java-методу, Java конвертирует значение в соответствии с правилами, описанными в следующей таблице:
java.lang.JSObject
java.lang.Object
Объект разворачивается в новый экземпляр объекта java.lang.JSObject.
java.lang.String
Объект разворачивается, вызывается метод toString развёрнутого Java-объекта и результат возвращается как новый экземпляр объекта java.lang.String.
byte
char
double
float
int
long
short
Объект конвертируется в значение с использованием логики оператора ToPrimitive, описанного в . Подсказка PreferredType, используемая с этим оператором, является Number.
boolean
В JavaScript 1.3 и позднее, объект разворачивается, и возникает одна из следующих ситуаций:
Если объект - null, он конвертируется в false.
Если объект имеет какое-либо другое значение, он конвертируется в true.
В JavaScript 1.2 и ранее, объект разворачивается, и возникает одна из следующих ситуаций:
Если развёрнутый объект имеет метод booleanValue, исходный объект конвертируется в return-значение.
Если развёрнутый объект не имеет метода booleanValue, конвертация терпит неудачу.