java - 我在从 Java 中的方法返回列表时遇到问题

标签 java list arraylist

我正在学习java中的列表,但是我很难像任何原始数据类型一样从方法返回它。我想做的就是返回节点列表,然后打印出它们的所有标签。我做错了什么?

import java.util.ArrayList;

import java.util.List;

public class TestingArrays 
{

    List<Node> myList1  = new ArrayList<Node>();

    List<Node> myList2 = new ArrayList<Node>();

    List<Node> myList3 = new ArrayList<Node>();

    List<Node> myList4 = new ArrayList<Node>();

    private Node Node1 = new Node("One", myList1);
    private Node Node2 = new Node("Two", myList2);
    private Node Node3 = new Node("Three", myList3);
    private Node Node4 = new Node("Four", myList4);

    public static void main(String arg[])
    {
        List<Node> nodeList = nodeArray();

        for (int i = 0; i < nodeList.size(); i++)
        {
            System.out.println(nodeArray.get(i).label);
        }
    }

    public List<Node> nodeArray()
    {
        List<Node> tempList = new ArrayList<Node>();
        tempList.add(Node1);
        tempList.add(Node2);
        tempList.add(Node3);
        tempList.add(Node4);
        return tempList;
    }
}

最佳答案

您不能从静态上下文中调用非静态方法。使方法nodeArray() 静态。这将解决您的问题。

您也不能对非静态字段进行静态引用,即 Node1Node2Node3Node4.所以也让它们静态

另外nodeArray.get(i).label也是错误的,因为它应该是nodeList.get(i).label

关于java - 我在从 Java 中的方法返回列表时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770477/

相关文章:

java - 如何设置jtable中目标单元格的背景颜色?

java - 如何在 Heroku 上以开发模式运行 Play Framework 2 应用程序?

c# - 对包含新添加的自定义类型的列表进行排序

java - 执行过滤: List<>

java - 如何访问添加到 ArrayList 的数组(2-d)?

java - 使用弹出窗口将项目添加到数组列表

java - delphi加密转换Java代码

Java反射调用不起作用

Python 使用自定义键对 2D 列表进行排序

java - for循环Java返回值