java - 数组未调整大小

标签 java

我正在尝试使用名为 resize() 的方法调整 Array[] 的大小。我认为我已经正确编码了该方法,但是原始数组在通过该方法运行后没有调整大小,并且我不确定我做错了什么。

我已经测试过 newArr[] 实际上是 oldArr[] 长度的两倍,并且包含 oldArr[] 的值,但我不明白为什么它没有影响 wordList[]在主方法中。

我的任务是使用数组而不是数组列表,所以使用它是不可能的。

infile = new BufferedReader( new FileReader(infileName) );
while (infile.ready()) {

    String s = infile.readLine();
    System.out.println(wordList.length);
    System.out.println(count);
    wordList[count] = s;

    if(s.length() > lenOfLongest)
        lenOfLongest = s.length();

    if(s.length() < lenOfShortest)
        lenOfShortest = s.length();

    count++;

    if(count == wordList.length)
            resize(wordList);
}

private static String[] resize( String[] oldArr ) {
    String[] newArr = new String[oldArr.length * 2];
    System.out.println(newArr.length);

    for(int i = 0;i < oldArr.length; i++) {
        newArr[i] = oldArr[i];
    }

    return newArr;

}

最佳答案

if(count == wordList.length)
        resize(wordList);

应该是:

if(count == wordList.length)
        wordList = resize(wordList);

参见this answer了解更多详情。

关于java - 数组未调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16863835/

相关文章:

JAVA - 如果条件在参数上不能正常工作

Java学习使用SWT gridlayout和griddata

java - Android:写入 AsyncTask 中的文件

java - 我需要提供单独的异常语句。 1. 空字符串和 2. 有效数字数据

java - 遇到这个java代码的问题 - 应该打印并计算随机抛硬币中正面和反面的数量

java - 如何使动态加载的插件能够感知 Web 应用程序

java - CriteriaQuery 返回 nullpointerexception mockito

java - PDF 中的可滚动图像

java - 生成代表数字的组合

java - Spring WebFlow 到 MVC 转换问题