Visit Mozilla.org

Dokumentacja języka JavaScript 1.5:Obiekty:JavaArray

z Mozilla Developer Center, polskiego centrum programistów Mozilli.


Spis treści

[edytuj] Podsumowanie

Obiekt główny

Zapakowana tablica Javy, do której dostęp uzyskuje się poprzez kod JavaScript jest członkiem typu JavaArray.

[edytuj] Tworzone przez

Jakąkolwiek metodę Javy, która zwraca tablicę. W dodatku, możesz stworzyć obiekt JavaArray z dowolnym typem danych używając metody newInstance klasy Array:

public static Object newInstance(Class componentType,
   int length)
   throws NegativeArraySizeException

[edytuj] Opis

Obiekt JavaArray jest wystąpieniem tablicy Javy, która jest stworzona wewnątrz kody JavaScript lub do niego przekazana. JavaArray jest opakowaniem (ang. wrapper) dla tej instancji; wszystkie referencje do niej są robione przez JavaArray.

W JavaScript 1.4 i późniejszym, parametr componentType jest albo obiektem typu JavaClass reprezentującym typ tablicy albo obiektem klasowym, jak na przykład obiekt zwracany przez java.lang.Class.forName. W JavaScript 1.3 i wcześniejszych, componentType musi być obiektem klasowym.

Użyj indeksy oparte na zerze, aby uzyskać dostęp do obiektu JavaArray, tak samo jak robisz to w Javie. Na przykład:

var javaString = new java.lang.String("Hello world!");
var byteArray = javaString.getBytes();
byteArray[0] // zwraca 72
byteArray[1] // zwraca 101

Jakiekolwiek dane Javy przeniesione do JavaScriptu są konwertowane do typów danych JavaScriptu. Kiedy obiekt JavaArray jest przekazany z powrotem do Javy, obiekt jest rozpakowywany i może być użyty przez kod Javy. Zobacz Przewodnik po języku JavaScript 1.5, aby uzyskać więcej informacji na temat konwersji typów danych.

W JavaScripcie 1.4 i późniejszym, metody java.lang.Object są dziedziczone przez JavaArray.

[edytuj] Zgodność wsteczna

[edytuj] JavaScript 1.3 i wersje wcześniejsze

Metody java.lang.Object nie są dziedziczone przez JavaArray. W dodatku, metoda toString jest dziedziczona z obiektu Object i zwraca następującą wartość:

[object JavaArray]

Musisz określić klasę obiektu, tak jak jeden zwracany przez java.lang.Object.forName, dla parametru componentType, newInstance kiedy użyjesz tej metody do utworzenia tablicy. Nie możesz użyć obiektu JavaClass dla parametru componentType.

[edytuj] Własności

length: Numer elementu w Java array reprezentowana przez JavaArray.

[edytuj] Metody

toString: W JavaScript 1.4, ta metoda ta nie jest uwzględniana przez odziedziczona metodę java.lang.Object.toString. W JavaScript 1.3 lub lub wcześniejszym, metoda ta zwraca ciąg znaków (stringa) identyfikującego obiekt jako JavaArray.

W JavaScript 1.4 lub późniejszym, JavaArray dziedziczy również metody z superklasy tablicy Javy, java.lang.Object.

[edytuj] Przykłady

[edytuj] Przykład: Tworzenie JavaArray w JavaScript

W tym przykładzie, JavaArray tablicaBitowa jest stworzona przez metodę java.lang.String.getBytes, która zwraca tablicę.

var stringJavy = new java.lang.String("Witaj świecie!");
var tablicaBitowa = stringJavy.getBytes();

[edytuj] Przykład: Tworzenie JavaArray w JavaScript z metodą newInstance

W JavaScript 1.4, możesz użyć obiekt JavaClass jako argument dla metody newInstance, która tworzy tablicę, jak jest to pokazane w następującym kodzie:

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

W JavaScript 1.1, użyj obiektu klasy, zwracanego java.lang.Class.forName jako argument dla metody newInstance, jak pokazuje następujący kod:

var dataType = java.lang.Class.forName("java.lang.String");
var dogs = java.lang.reflect.Array.newInstance(dataType, 5);