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