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
。当然,您应该首先初始化该变量。