【问题标题】:Can i declare an Array once and through out the code declare it again?我可以一次声明一个数组并在整个代码中再次声明它吗?
【发布时间】:2019-02-11 14:57:13
【问题描述】:

我可以重新声明一个已经声明的数组吗?

所以我试图通过一个 LinkedList 并获取每个包含“null”作为元素的索引,并将这些索引添加到一个整数数组中。

我遇到的问题是:数组已经声明为: int[] 解决方案 = new int[0];

我可以再次重新声明它吗,就像我们说的那样: int newSize = 10; 解决方案 = [newSize];

这行得通吗?

int k = 0;
int counter = 0;

if(!isEmpty())
    {
        for(int j = 0 ; j < size(); j++)     
        {
            if(current.getContent().equals(null))
            {
                counter++;
            }
        }

        result = new int[counter];

        for(int i = 0 ; i < size(); i++)
        {
            if(current.getContent().equals(null)) 
            {
                result[k++] = i ;
            }
        }
    }

我尝试打印出 Result 的元素,但我得到的只是一个空数组。

【问题讨论】:

标签: java arrays initialization declaration


【解决方案1】:

简答(如 java 文档中提到的那样 => link

数组的长度是在创建数组时确定的。创建后,它的长度是固定的。

更多细节:

当您使用 : int[] solution = new int[0] 您创建一个可以容纳 0 元素的数组并要求“解决方案”引用它。

如果稍后在您的代码中使用solution = new int[10],您将创建一个可以容纳 10 个元素的数组,并要求“解决方案”来引用这个新数组。 之前的数组仍然存在于内存中的某处。

如果您想要完整的解释,请搜索“java 内存管理”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-31
    • 1970-01-01
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2011-12-10
    • 1970-01-01
    • 2011-10-19
    相关资源
    最近更新 更多