[Chapter 21] Reference: JavaArray
Author: David Flanagan
Date: Fri Aug 29 11:16:52 1997

#

| Chapter 21 JavaScript Reference |

# JavaArray Object

## Name

JavaArray Object---JavaScript representation of a Java array

## Availability

Navigator 3.0

## Synopsis

    javaarray.length  the length of the array
    javaarray[index]    read or write an array element

## Properties

`length`

  A read-only integer that specifies the number of elements in the Java array represented by the JavaArray object.

## Description

The JavaArray object is a JavaScript representation of a Java array, and it allows JavaScript code to read and write the elements of the array using familiar JavaScript array syntax. In addition, the JavaArray object has a `length` field which specifies the number of elements in the Java array.

When reading and writing values from array elements, data conversion between JavaScript and Java representations is automatically handled by the system. See Chapter 19, LiveConnect: JavaScript and Java for full details.

## Usage

Note that Java arrays differ from JavaScript arrays in a couple of important aspects. First, Java arrays have a fixed length that is specified when they are created. For this reason, the JavaArray `length` field is read-only. The second difference is that Java arrays are typed--i.e., their elements must all be of the same type of data. Attempting to set an array element to a value of the wrong type will result in a JavaScript error.

## Example

`java.awt.Polygon` is a JavaClass object. We can create a JavaObject representing an instance of the class like this:

    p = new java.awt.Polygon();

This object `p` has properties `xpoints` and `ypoints` which are JavaArray objects representing Java arrays of integers. We could initialize the contents of these arrays with JavaScript code like the following:

    for(int i = 0; i < p.xpoints.length; i++)
        p.xpoints[i] = Math.round(Math.random()*100);
    for(int i = 0; i < p.ypoints.length; i++)
        p.ypoints[i] = Math.round(Math.random()*100);

## See Also

"getClass()", "java", "JavaClass", "JavaObject", "JavaPackage", "Packages", Chapter 19, LiveConnect: JavaScript and Java

java |  | JavaArray.length