Ядро JavaScript 1.5. Справочник

JavaArray


Объект-капсула, Java-массив, доступ к которому осуществляется из кода JavaScript, является членом типа JavaArray.

Объект ядра Реализован в

JavaScript 1.1, NES 2.0


Создание

Любой Java-метод, возвращающий массив. Кроме того, Вы можете создать JavaArray из данных произвольного типа, используя метод newInstance класса Array:

public static Object newInstance(Class componentType,

   int length)
   throws NegativeArraySizeException


Описание

Объект JavaArray является экземпляром массива Java, который создаётся в или передаётся в JavaScript. JavaArray это капсула для экземпляра; все ссылки на этот экземпляр массива осуществляются через JavaArray.

В JavaScript 1.4 и позднее параметр componentType это JavaClass-объект или объект, представляющий тип массива или объект класса, такой как возвращаемый из java.lang.Class.forName. В JavaScript 1.3 и ранее componentType обязан быть объектом класса.

Для доступа к элементам JavaArray-объекта используются индексы с базой 0, точно так, как Вы получаете доступ к элементам Java-массива. Например:



var javaString = new java.lang.String("Hello world!");

var byteArray = javaString.getBytes();

byteArray[0] // возвращает 72

byteArray[1] //

возвращает 101

Любые данные Java, перенесённые в JavaScript, конвертируются в типы данных JavaScript. Если JavaArray передаётся обратно в Java, с массива убирается оболочка, и он может использоваться кодом Java. См. в книге

информацию конверсии типов данных.

В JavaScript 1.4 и позднее методы из java.lang.Object наследуются в JavaArray.


Обратная Совместимость

JavaScript 1.3 и ранее.

Методы из java.lang.Object не наследуются в JavaArray. Кроме того, метод toString наследуется из объекта Object и возвращает следующее значение:

[object JavaArray]

Вы обязаны специфицировать объект класса, такой как возвращаемый из java.lang.Object.forName, для параметра componentType метода newInstance, если Вы используете этот метод для создания массива. Вы не можете использовать объект JavaClass для параметра componentType.


 

Свойство. Резюме.

Свойство

Описание

Количество элементов в Java-массиве, представленное объектом JavaArray.


 

Метод. Резюме.

Метод

Описание

В JavaScript 1.4 этот метод переопределён унаследованным методом java.lang.Object.toString.

В JavaScript 1.3 и ранее этот метод возвращает строку, идентифицирующую объект как JavaArray.

В JavaScript 1.4 и позднее JavaArray также наследует методы суперкласса массива Java, java.lang.Object.


Примеры

Пример 1.

Инстанциация (создание экземпляра) JavaArray в JavaScript.

В этом примере JavaArray byteArray создаётся методом java.lang.String.getBytes, который возвращает массив.

var javaString = new java.lang.String("Hello world!");

var byteArray = javaString.getBytes();

 

Пример 2.

Инстанциация JavaArray в JavaScript методом newInstance.

В JavaScript 1.4 Вы можете использовать объект JavaClass как аргумент для метода newInstance, который создаёт массив, как показано в этом коде:

var dogs = java.lang.reflect.Array.newInstance(java.lang.String, 5)

В JavaScript 1.1 объект класса, возвращаемый методом java.lang.Class.forName, используется как аргумент метода newInstance, как показано в коде:

var dataType = java.lang.Class.forName("java.lang.String")

var dogs = java.lang.reflect.Array.newInstance(dataType, 5)



Содержание раздела