如何在java中创建数组参数?

时间:2014-08-20 17:13:09

标签: java

我尝试为方法创建一个数组参数,但总是会出现错误。

public void methodExample1() {
int array1[] = new int[4]
}

public void methodExample(Array array1[]) {

System.out.println(array1[0]);
}

但它总是说我的参数有错误。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:3)

试试这个:

public void methodExample(int[] array1)

说明:该类型与您用于声明将作为参数传递的值相同(目前我忽略了协变数组),例如,如果您执行此操作:

int[] array1 = new int[4];

...然后,在将它作为参数传递时,我们将这样写:

methodExample(array1)

另请注意,数组的大小必须 not 作为参数传递,并且按照惯例,[]部分紧跟在数组元素的类型之后(实际上,int[] 数组的类型),而不是数组的名称。

答案 1 :(得分:0)

我假设你试图将数组作为参数传递给方法,初始化它然后调用另一个方法来打印它?

在java中,您必须通过调用new ...

来创建一个对象并为其“分配”内存空间

所以你可以这样做:

public static void main(String[] args) {

        int [] m_array; // creating a array reference 
        m_array = new int[5]; // allocate "memory" for each of of them or you can consider it as creating a primitive of int in each cell of the array

        method(m_array); // passing by value to the method a reference for the array inside the method
        }
        public void method(int [] arr)  // here you are passing a reference by value for the allocated array
        {
            System.out.println(arr[0]);
        }

答案 2 :(得分:0)

如果我理解了您的问题,那么您可以使用Array,以及

之类的内容
public static void methodExample(Object array1) {
    int len = Array.getLength(array1);
    for (int i = 0; i < len; i++) {
        System.out.printf("array1[%d] = %d%n", i, Array.get(array1, i));
    }
}

public static void main(String[] args) {
    methodExample(new int[] { 1, 2, 3 });
}

输出

array1[0] = 1
array1[1] = 2
array1[2] = 3