Передача общих типов между Java и (Rhino)Javascript

Мне неясны правила преобразования типов между Javascript и Java при использовании (Mozilla) Rhino.

Есть некоторые особенности в документация о String :

Важно помнить, что строки Java и JavaScript струны разные. […] Rhino помогает уменьшить различия между двумя типами. Во-первых, вы можете передать JavaScript строку в метод Java, который требует строки Java, и Rhino будет выполнить преобразование. Мы действительно видели эту функцию в действии на вызов конструктора java.lang.String в предыдущем примере. Rhino также делает методы JavaScript доступными для строк Java, если класс java.lang.String их еще не определяет

А как насчет других? Если я передам номер javascript в метод Java, ожидающий int , double (или Integer или Double ), он будет преобразован? А как насчет long / Long ? (который не помещается в Double и поэтому не помещается в номер JS?

А как насчет методов Java, возвращающих эти значения?

Тогда есть Boolean / логическое . Преобразованы ли константы JS true и false в соответствующее значение Java и обратно? Я видел код вроде

java.lang.Boolean.TRUE.booleanValue()

, используемый из JS, поэтому по крайней мере, некоторые думают, что это не так.

Я просмотрел документацию Mozilla Rhino, но хочу указать, если я пропустил что-то очевидное.

8
задан The Archetypal Paul 18 July 2011 в 07:57
поделиться