Назад    Вперёд

Ядро 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. Руководство по Использованию. информацию конверсии типов данных.

 

В 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.


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

Свойство

Описание

length

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


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

Метод

Описание

toString

В 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)


 

length


 

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

Свойство из

JavaArray

Реализовано в

JavaScript 1.1, NES 2.0


Описание

В отличие от Array.length, JavaArray.length это свойство только для чтения. Вы не можете изменить значение свойства JavaArray.length, поскольку массивы Java имеют фиксированное количество элементов.


См. также

Array.length.

 


toString


 

Возвращает строковое представление JavaArray.

Метод из

JavaArray

Реализован в

JavaScript 1.1, NES 2.0


Параметры

Отсутствуют.


Описание

Вызывает метод java.lang.Object.toString, который возвращает значение следующего выражения:

 

JavaArray.getClass().getName() + '@' +
     java.lang.Integer.toHexString(JavaArray.hashCode())


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

JavaScript 1.3 и ранее.

Метод toString наследуется из объекта Object и возвращает следующее значение:

[object JavaArray]

 

 

Назад    Вперёд

Copyright © 2000 Netscape Communications Corp. Все права зарезервированы.

Дата последнего обновления: 28 сентября 2000 г.

Hosted by uCoz