Java 正在创建浏览器-将“URL”另存为列表中的字符串时出现错误消息?

Java 正在创建浏览器-将“URL”另存为列表中的字符串时出现错误消息?,java,browser,runtime-error,Java,Browser,Runtime Error,我正在创建一个简单的web浏览器,其中包含4个JButtons、一个JTextfield和一个JEditorPane。我想在名为列表的数组列表中保存我访问过的每个URL。我的4个JButtons中有一个称为History,如果用户按下此按钮,我希望打印list 每次用户在web浏览器的JTextfield中写入内容,写下URL并按enter键时,调用此方法: private void loadURL(String URL) { try { display.setPage(

我正在创建一个简单的web
浏览器
,其中包含4个
JButtons
、一个
JTextfield
和一个
JEditorPane
。我想在名为
列表的
数组列表中保存我访问过的每个
URL
。我的4个
JButtons
中有一个称为
History
,如果用户按下此按钮,我希望打印
list

每次用户在web浏览器的
JTextfield
中写入内容,写下
URL
并按enter键时,调用此方法:

private void loadURL(String URL) {
    try {
        display.setPage(URL);
        addressBar.setText(URL);
    }catch(Exception e) {
        System.out.println("Fel URL!");
    }
    //list.add(URL);
}
注意,我已经注释掉了
//list.add(URL)。如果我从此行中删除
/
,我的代码每次都会显示一条错误消息,它会显示:

线程“AWT-EventQueue-0”java.lang.NullPointerException中的异常


我不明白问题是什么,我只是试图保存我访问过的每个
URL
,我不明白为什么这一行会给我一条错误消息。

在代码中的某个地方,你必须启动列表。比如:

private List<String> list = new ArrayList<>();
private List=new ArrayList();
如果您忘记了,那么在尝试访问列表的方法时,您将得到一个NPE


检查您的代码,看看您是否正在执行此操作。

这是因为您的
列表
对象未初始化且为空

像这样创建
list
对象

List<String> list = new ArrayList<String>();
List List=new ArrayList();

Hi,我一开始就是这么做的:
private ArrayList list然后执行以下操作:private ArrayList list=new ArrayList();否则,您只是创建了一个类型为ArrayList的引用,该引用不指向任何内容,从而导致空指针异常。请检查以下内容: