Назад Вперёд |
Ядро 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 г.