javaarray.js revision 2:da1e581c933b
1/*
2 * Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
23
24/*
25 * Basic check for Java array element access and array element set.
26 *
27 * @test
28 * @run
29 */
30
31(function() {
32    var nargs = arguments.length;
33    var args = java.lang.reflect.Array.newInstance(java.lang.Object.class, nargs);
34    print(args.length);
35    for (var i = 0; i < nargs; i++) {
36        var arg = arguments[i];
37        args[i] = arg;
38        print(i + ' ' + arg + '/' + args[i]);
39    }
40})(13, 3.14, 'foo');
41
42var z; // undefined
43
44var intArray = java.lang.reflect.Array.newInstance(java.lang.Integer.TYPE, 1);
45intArray[0] = 10;
46print(intArray[0]);
47print(intArray.length);
48intArray[0] = z;
49print(intArray[0]);
50intArray[0] = 10.1;
51print(intArray[0]);
52
53var boolArray = java.lang.reflect.Array.newInstance(java.lang.Boolean.TYPE, 2);
54boolArray[0] = true;
55print(boolArray[0]);
56print(boolArray[1]);
57print(boolArray.length);
58
59var charArray = java.lang.reflect.Array.newInstance(java.lang.Character.TYPE, 1);
60charArray[0] = 'j';
61print(charArray[0]);
62print(charArray.length);
63
64
65var doubleArray = java.lang.reflect.Array.newInstance(java.lang.Double.TYPE, 1)
66doubleArray[0]=z
67print(doubleArray[0])
68doubleArray[0]=1
69print(doubleArray[0])
70doubleArray[0]=1.1
71print(doubleArray[0])
72