[英]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.