我是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
}
// 调用方法并传递这个数组 do.
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() 方法中,则可以使用未命名的数组。这有助于节省内存。谢谢