退出方法时Java数组丢失

awi*_*ebe 6 java arrays reference

我对java比较陌生,没有指针的引用传递让我感到困惑.我为家庭作业编写了一个函数,要求我返回用户输入的长度,并将使用输入分配给传入的数组,当方法退出用户输入数组丢失时,出现了什么问题.

public static int readArray(char[] intoArray)
    {
        char[] capture = captureInputAsCharArray(); //User input comes back as char[]
        System.arraycopy(intoArray,0, capture, 0, capture.length);

        return capture.length;
    }

public static main(String[] args)
{
        size = readArray(arrItem7);  // item 7
        System.out.println(size);
        printOneInLine(arrItem7);  // prints individual elements of array
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*ach 8

因为你有System.arraycopy()倒退的论据.

http://download.oracle.com/javase/6/docs/api/java/lang/System.html

public static void arraycopy(Object src,
                             int srcPos,
                             Object dest,
                             int destPos,
                             int length)
Run Code Online (Sandbox Code Playgroud)

交换intoArraycapture:

System.arraycopy(capture,0, intoArray, 0, capture.length);
Run Code Online (Sandbox Code Playgroud)