如何将整个数组传递给方法?
private void PassArray() { String[] arrayw = new String[4]; //populate array PrintA(arrayw[]); } private void PrintA(String[] a) { //do whatever with array here }
我该怎么做呢?
你做这个:
private void PassArray(){ String[] arrayw = new String[4]; //populate array PrintA(arrayw); } private void PrintA(String[] a){ //do whatever with array here }
只需将其作为其他变量传递.在Java中,数组通过引用传递.
只需从原始代码中删除括号即可.
PrintA(arryw); private void PassArray(){ String[] arrayw = new String[4]; //populate array PrintA(arrayw); } private void PrintA(String[] a){ //do whatever with array here }
就这些.
数组变量只是一个指针,所以你只需传递它:
PrintA(arrayw);
编辑:
更详细一点.如果你想要做的是创建一个数组的COPY,你必须将数组传递给方法,然后在那里手动创建一个副本(不确定Java是否有类似的东西Array.CopyOf()
).否则,您将传递数组的REFERENCE,因此如果您更改其中元素的任何值,它也将更改为其他方法.