无法在构造函数中返回LinkedList <integer>

时间:2018-01-20 07:25:01

标签: java constructor linked-list

我无法在构造函数中返回LinkedList<Integer>。我一定不明白,我应该或只是忽视一些事情。请耐心等待,这是我第一次在Stackoverflow中询问。

LinkedList<Integer> list = new LinkedList<Integer>();

public DataAnalyzer(LinkedList<Integer> numList) {      
    list = numList;
    //create line below to show that Linkedlist cannot be passed.
    LinkedList<Integer> n = new LinkedList<>();

    return DataAnalyzer(n);
}

2 个答案:

答案 0 :(得分:0)

构造函数不会返回任何数据,只要您可以传递一次数据结构就可以声明一个类,这样您就可以在类中使用它了。

如您所见,我们在LinkedList<Integer>()中创建AnotherClass并在实例化类时传递一次。由于我们将列表传递给DataAnalyzer,因此我们可以在PrintAll等任何方法中使用它。

以下是基于您的代码的示例:

import java.util.LinkedList;

public class DataAnalyzer {
    private LinkedList<Integer> list = new LinkedList<Integer>();

    public DataAnalyzer(LinkedList<Integer> numList) {
        list = numList;
    }

    public void PrintAll(){
        for (Integer integer : list) {
            System.out.println(integer);
        }
    }

}

class AnotherClass{
    public static void main(String[] args) {

        LinkedList<Integer> list = new LinkedList<Integer>();

        list.add(1);
        list.add(12);
        list.add(123);

        DataAnalyzer da = new DataAnalyzer(list);

        da.PrintAll();
    }
}

输出应为

1
12
123

答案 1 :(得分:-1)

构造函数不支持返回类型。 构造函数没有返回类型的原因在这里解释

Why do constructors not return values?