如何在java中声明和初始化数组

时间:2015-11-08 04:49:01

标签: java arrays

我正在尝试使用for循环初始化Arrays。但我无法将int投射或转换为Arrays

import java.util.Arrays;

public class InitalizeArrays {

    /**
     * @param args
     */
    public static void main(String[] args) {
        int[] arr = {1, 2, 5, 8}; //this one is fine            
        Arrays[] arr2 = new Arrays[5];

        for(int i=0; i<=arr2.length; i++)
        {
            arr2[i]=i;   //How to initalize Arrays 
            System.out.println(arr2[i]);
        }
    }
}

我在这里缺少什么?

3 个答案:

答案 0 :(得分:3)

Arrays不是你应该使用的对象......它只是一组用于处理数组的辅助方法(注意小写的“a”)。这是文档:https://docs.oracle.com/javase/8/docs/api/java/util/Arrays.html

答案 1 :(得分:1)

数组的有效索引是0array.length - 1(它是int的数组(不是Arrays - 实用程序类)。您需要更改< / p>

Arrays[] arr2 = new Arrays[5];
for(int i=0; i<=arr2.length; i++)

类似

int[] arr2 = new int[5]; // <-- to store an int.
for(int i=0; i<arr.length; i++) // <-- or arr2.length - 1
{
    arr2[i]=arr[i]; // <-- to copy arr.
}

可能您想使用{/ 3}}

int[] arr2 = Arrays.copyOf(arr, arr.length + 1);
// no for loop to copy needed.

答案 2 :(得分:0)

Arrays[] arr2 = new Arrays[5];

应替换为

int[] arr2 = new int[5];

这就是全部。

当然不会出现任何编译时错误,但会出现运行时错误 因为Java不会像对待int []数组那样对待Arrays []。 它将被视为与整数数组无关的另一种数据类型。