退出方法时 Java 数组丢失

标签 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
}

最佳答案

因为你有向后传递给 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)

交换 intoArraycapture:

System.arraycopy(capture,0, intoArray, 0, capture.length);

关于退出方法时 Java 数组丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7990344/

相关文章:

C. 函数修改动态分配的二维数组时的段错误

java - & 符号 C 引用类似于 java 中的运算符。意义?

java - 为什么 Any 的方法不是抽象的或原生的?

java - 在 install4j 应用程序中强制更新

c++ - 使用 shared_ptrs 时返回引用

C 指针和引用

c++ - 通过引用返回时的返回值优化

java - 提供数据库密码而不将其硬编码在程序中

java - 确定整数数组中是否存在在几个条件下总和为给定目标值的子集

android - ListView,在Android中使用颜色代码数组更改每一行