Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我是否需要使用引用变量?(链接列表)_Java - Fatal编程技术网

Java 我是否需要使用引用变量?(链接列表)

Java 我是否需要使用引用变量?(链接列表),java,Java,我需要填充一个对象数组 这是我的代码: final class ObjectClass { List<ObjectClass> array; private int data; ObjectClass(int data) { this.data = data; } public void fillArray() { array = new LinkedList<>(); f

我需要填充一个对象数组

这是我的代码:

final class ObjectClass
{
    List<ObjectClass> array;
    private int data;

    ObjectClass(int data)
    {
        this.data = data;
    }

    public void fillArray() {
        array = new LinkedList<>();
        for(int i = 0;i < array.size();i++)
        {
            data++;
            array.add(new ObjectClass(data));
        }

    }
}

列表数组
声明为
静态
,它将通过创建一个
类变量
,而不是在对象级别

列表数组
声明为
静态
,来实现您想要实现的目标,通过创建一个
类变量
而不是在对象级别

它将实现您试图实现的目标。问题是
数组
(顺便说一句,它实际上不是一个数组-它被错误命名)最初的大小为0,因此该方法不做任何事情


<>您忘记考虑要用“.p/>> p>”填充多少数据。问题是数组< /COD>(实际上不是一个数组——它被错误地命名)最初有0个大小,所以该方法什么也不做。
<>你忘记考虑要用“填充”数据结构的数量了。

< p>为什么没有发生什么,这里是:

for(int i = 0;i < array.size();i++)
for(int i=0;i

在前面的行中,您刚刚创建了
数组,因此它仍然是空的-因此,循环体根本没有执行。

没有发生任何事情的原因如下:

for(int i = 0;i < array.size();i++)
for(int i=0;i

在前面的一行中,您刚刚创建了
数组,因此它仍然是空的-因此,循环体根本不会执行。

每次调用
fillArray
,您都在使用以下命令销毁数组中的数据(不管它是如何进入的):

array = new LinkedList<>();

最后,请注意,如果循环确实起作用,
data
array.size()
将是等效的(只要不删除任何内容)。我会重新考虑该变量的用途/意图。

每次调用
fillArray
,您都会使用以下命令销毁数组中的数据(不管它是如何进入的):

array = new LinkedList<>();

最后,请注意,如果循环确实起作用,
data
array.size()
将是等效的(只要不删除任何内容)。我会重新思考这个变量的目的/意图。

你说“没有结果”是什么意思?你试过什么?具体发生了什么?我正在尝试制作一个ObjectClass数组并打印它的对象。你说“没有结果”是什么意思?你试过什么?具体发生了什么?我正在尝试制作一个ObjectClass数组并打印它的对象。啊哈,是的,是的,没有注意到。谢谢啊,对,对,没有注意到。谢谢谢谢,我正在努力!谢谢,我正在努力!
public void fillArray(int times) {

    for(int i = 0;i < times; i++) {
        data++;
        array.add(new ObjectClass(data));
    }

}