众所周知,Java中没有指针,但其实,只是指其没有*这个符号,其实指针无处不在,并以引用的实质存在,除基本数据类型,其它类型在函数调用时,都是以引用在使用,例如:
public class ArrayFunction {
//传引用
public void function1(int[] inputArray,int i)
{
System.out.println("function1 inputArray="+String.valueOf(inputArray[i]));
inputArray[i] = 1;
}
//传值
public void function2(int inputArray)
{
System.out.println("function2 inputArray="+inputArray);
inputArray = 2;
}
}
public class Example {
public static void main(String[] args)
{
ArrayFunction arrayFunction = new ArrayFunction();
int arrayOrign[] = {0,1};
System.out.println("arrayOrign[0]="+arrayOrign[0]);
arrayFunction.function2(arrayOrign[0]);
System.out.println("After arrayFunction.function2,arrayOrign[0]="+arrayOrign[0]);
arrayFunction.function1(arrayOrign,0);
System.out.println("After arrayFunction.function1,arrayOrign[0]="+arrayOrign[0]);
}
}
输出结果:
arrayOrign[0]=0
function2 inputArray=0
After arrayFunction.function2,arrayOrign[0]=0
function1 inputArray=0
After arrayFunction.function1,arrayOrign[0]=1