3

我是java新手,我想知道,我们如何将数组对象作为参数传递给方法。假设我有:

public void sortArray(A[7])

我应该在括号之间放什么?应该是A[length of array]还是什么?

4

6 回答 6

3

当您将数组作为参数传递时,它的长度以及其中存储的内容都会被传递,因此您无需专门指定长度。具体实现见下例:

将 int 数组作为参数的方法的简单示例:

public void takeArray(int[] myArray) {
    for (int i = 0; i < myArray.length; i++) { // shows that the length can be extracted from the passed in array.
        // do stuff
    }
}

您将因此调用此方法:

假设你有一个这样的数组:

int[] someArray = {1, 2, 3, 4, 5};

然后你调用上面的方法:

takeArray(someArray);
于 2013-04-16T00:42:25.613 回答
1

只需将数组传递给方法。您无需提及任何尺寸。

void sortArray(int[] array) {
  // Code
}

// 调用方法并传递这个数组 do.

int[] array = new int[10];
sortArray(array);
于 2013-04-16T00:43:40.100 回答
0

例如,您有您所说的程序:

public void sortArray(typeArray[] A){
 //code
 //code
}

调用数组:

typeArray[] A = new typeArray[N]; //N is number of array you want to create
searchArray(A); //this how I call array
于 2013-04-16T00:43:26.117 回答
0

您只需将数组的名称传递给方法。

int[] a = new int[10];

...

bar(a);

其中 bar 的定义如下:

void bar(int[] a)
{
    ...
}
于 2013-04-16T00:44:26.247 回答
0

这样你就可以传递一个数组

int[] a = new int[100];
myFunction(a);

 public void myFunction(int[] a){
       for(int i =0; i< a.lenght();i++){

                System.out.println(i);

              }

       }
于 2017-02-22T03:36:48.897 回答
0

如果您不希望将数组命名为:

public void array(int arr[])
{
    // code handling arr
}

现在对于上述方法,您可以传递一个数组对象而无需像这样创建它:

public static void main(String[] args)
{
   array(int[] {1,2,3,4,5});
}

这也称为未命名数组或匿名数组。无需为按值调用创建数组。如果您不再希望该数组包含在 main() 方法中,则可以使用未命名的数组。这有助于节省内存。谢谢

于 2017-02-22T03:59:58.007 回答