首页 > 解决方案 > 无法解析链表

问题描述

所以首先我是这方面的新手,所以如果我犯了一些正式的错误,请不要难为情。

所以我正在尝试学习一些关于 Java 中的链表的知识。我现在在主方法中创建了一个链接列表,称为“liste”和一个名为“addToList”的方法,它应该将一个字符串添加到我的列表中。

import java.util.LinkedList;

public class LinkedLists{

    public static void main(String[] args) {
        LinkedList<String> liste = new LinkedList<String>(); 
        addToList("Mario");
    }

    public static void addToList(String pElement) {
        liste.add(pElement);
    }

}

当我在 main 方法中添加一个元素并将其打印出来时,它工作正常,但是当我这样做时,我得到了这个错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
    liste cannot be resolved

        at LinkedLists.addToList(LinkedLists.java:11)
        at LinkedLists.main(LinkedLists.java:7)

标签: java

解决方案


您正在liste函数中使用变量addToList。但是该变量是在main函数中定义的,在addToList.

让我们来看看错误信息

线程“main”java.lang.Error 中的异常:未解决的编译问题:

所以编译不起作用,因为

列表无法解决

liste编译器不知道该符号。它无法解决它的含义。

在 LinkedLists.addToList(LinkedLists.java:11)

最上面的条目显示了编译器在哪里遇到了这个问题。在这种情况下,它是第11 行addToList文件中的函数。LinkedLIsts.java

如果您想listeaddToList您共享,可以将其作为参数传递:

public class LinkedLists{

    public static void main(String[] args) {
        LinkedList<String> liste = new LinkedList<String>(); 
        addToList(liste, "Mario");
    }

    public static void addToList(LinkedList<String> liste. String pElement) {
        liste.add(pElement);
    }
}

或者您将其移出main范围LinkedLists

public class LinkedLists{

    static LinkedList<String> liste = new LinkedList<String>(); 

    public static void main(String[] args) {
        addToList("Mario");
    }

    public static void addToList(String pElement) {
        liste.add(pElement);
    }
}

推荐阅读