Parameter conversion

JavaScript™ parameters are passed by value (JavaScript™ arrays and objects used as parameters are not modified by the Java™ code).

Parameter conversions are as follows by type:
JavaScript™ Java™
Boolean Boolean
byte Byte
short Short
int Integer
long Long
float Float
double Double
Object java.util.Map – A temporary HashMap is created containing all the property name/value pairs. Primitive values (number, Boolean, string) are converted to a java.lang.String while Java™ objects are left as is.
char java.lang.Character – When converting, only the first character is extracted.
undefined Not assignable.
null Created as any Java™ object and assigned the Java™ null value.
Date java.util.Date
Array A temporary Java™ array of the correct type is created and filled by converting all the values in the JavaScript™ array.
Wrapped Java™ object Any Java™ object that is compatible (isAssignableFrom) passed as is without conversion

Java™ return values are passed as follows:

Java™ JavaScript™
void undefined
Any number whether primitive or object number
java.lang.String string
java.util.Date Date
Array Not converted
Other objects Wrapped and used as is