JAVA-无法从静态上下文引用非静态方法add(E)

JAVA-无法从静态上下文引用非静态方法add(E),java,arraylist,java.util.scanner,Java,Arraylist,Java.util.scanner,我正在尝试将字符串值(使用扫描仪)插入数组列表 我得到一个错误: 无法从静态上下文引用非静态方法add(E) 我假设add()方法是问题所在-我可以使用哪些其他方法插入到静态的ArrayList中 import java.util.*; public class Solution { private static List<String> strings; public static void main(String[] args) throws Excepti

我正在尝试将
字符串
值(使用
扫描仪
)插入
数组列表

我得到一个错误:

无法从静态上下文引用非静态方法add(E)

我假设
add()
方法是问题所在-我可以使用哪些其他方法插入到静态的
ArrayList

import java.util.*;

public class Solution {

    private static List<String> strings;

    public static void main(String[] args) throws Exception {
        Scanner scanner = new Scanner(System.in);

        for(int i = 0; i < 5; i++){
            String s = scanner.nextLine();
            List.add(s);
        }
    }
}
import java.util.*;
公共类解决方案{
私有静态列表字符串;
公共静态void main(字符串[]args)引发异常{
扫描仪=新的扫描仪(System.in);
对于(int i=0;i<5;i++){
字符串s=scanner.nextLine();
列表。添加(s);
}
}
}

您尝试将字符串添加到
List
接口(
add()
方法不是静态的),但应将其添加到实例
List strings

strings.add(s);
此外,还应初始化
字符串

private static List<String> strings = new ArrayList<>();
private static List strings=new ArrayList();

否则,您将得到
NullPointerException

您的意思是
strings.add
它应该是
strings.add
。当然,您应该首先初始化该变量。