Назад Вперёд |
Ядро JavaScript 1.5. Справочник. |
Объект-капсула, Java-массив, доступ к которому осуществляется из кода JavaScript,
является членом типа JavaArray.
Любой 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. Руководство по Использованию. информацию конверсии
типов данных.
В JavaScript 1.4 и позднее методы из java.lang.Object наследуются в JavaArray.
Методы из java.lang.Object не наследуются в JavaArray. Кроме того, метод toString наследуется из
объекта Object и возвращает следующее значение:
Вы обязаны специфицировать объект класса, такой как возвращаемый из
java.lang.Object.forName, для параметра componentType метода newInstance,
если Вы используете этот метод для создания массива. Вы не можете использовать объект JavaClass для
параметра componentType.
Свойство |
Описание |
|---|---|
length |
Количество элементов в Java-массиве, представленное объектом |
Метод |
Описание |
|---|---|
toString |
В
JavaScript 1.4 этот метод переопределён унаследованным методом
В JavaScript 1.3 и ранее этот метод возвращает строку, идентифицирующую объект как |
В JavaScript 1.4 и позднее JavaArray
также наследует методы суперкласса массива Java, java.lang.Object.
Инстанциация (создание экземпляра) JavaArray
в JavaScript.
В этом примере JavaArray byteArray
создаётся методом java.lang.String.getBytes, который возвращает массив.
var javaString = new java.lang.String("Hello world!");
var byteArray = javaString.getBytes();
Инстанциация 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)
Количество элементов Java-массиве, представленных
объектом JavaArray.
В
отличие от Array.length, JavaArray.length
это свойство только для чтения. Вы не можете изменить значение свойства JavaArray.length,
поскольку массивы Java имеют фиксированное количество элементов.
Возвращает строковое представление JavaArray.
Вызывает метод java.lang.Object.toString, который возвращает значение следующего выражения:
JavaArray.getClass().getName() + '@' +
java.lang.Integer.toHexString(JavaArray.hashCode())
Метод toString наследуется из объекта Object
и возвращает следующее значение:
Copyright © 2000 Все права зарезервированы.
Дата последнего обновления: 28 сентября 2000 г.