繁体   English   中英

传递参数中的数组对象

[英]pass an array object in a parameter

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

public void sortArray(A[7])

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

将数组作为参数传递时,其长度以及存储在其中的内容将被传递,因此您无需专门指定长度。 有关实现,请参阅以下示例:

将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);

只需将数组传递给方法即可。 你不需要提及任何尺寸。

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

//调用方法并传递此数组。

int[] array = new int[10];
sortArray(array);

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

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

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

int[] a = new int[10];

...

bar(a);

其中bar定义如下:

void bar(int[] a)
{
    ...
}

这样您就可以传递数组

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

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

                System.out.println(i);

              }

       }

如果您不希望将数组命名为:还可以创建匿名数组:

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

现在,对于上面的方法,您可以传递一个数组对象而不创建它:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM