Допустим, у вас есть
Integer i;
i = 1;
Затем int 1
автоматически преобразуется в объект Integer
; это автобокс.
Бокс объектов для числовых значений Java
(байт классов java.lang,
Характер, Короткий, Инт, Длинный, Плавающий,
и Double) распакованы и преобразованы
до ближайшего доступного JavaScript
числовой тип,
означает, что преобразованное таким образом целое число вернется к нативному javascript int
.
кроме случаев, когда они объявлены
тип возврата из метода или
результат нового выражения с использованием
ключевое слово пакетов для апплета. В этом
случай, объект бокса будет
вернулся к движку JavaScript как
Java-объект.
... но если вы объявили функцию, которая возвращает Integer, она вместо этого будет преобразована в представление объекта Java. Это также относится к тому, что вы создали с помощью этого ключевого слова Packages. (я не знаю, что это такое, но вот что это значит.)
Обновление: вот пример из спецификации:
в коде JS:
val = new app.Packages.com.mycompany.MyClass();
Это говорит о том, что если val
это, скажем, Integer
в Java, то в этом случае оно становится JSObject
в javascript.
Строки Java преобразуются в
Строки JavaScript, кроме случаев, когда они
являются результатом нового выражения
используя ключевое слово Packages для каждого апплета.
В этом случае строка Java
вернулся к движку JavaScript как
Java-объект.
Аналогично, если у вас есть строка Java
String s = "I am a string."
с внутренним представлением и методами Java будет преобразовано в строку javscrip0t (другая реализация и методы), если вы не создали ее с ключевым словом Packages.