我的代码编译,但我在运行时得到了这个错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
at GUI.<init>(GUI.java:46)
at GUI.main(GUI.java:252)
Caused by: java.lang.NullPointerException
at java.util.Objects.requireNonNull(Objects.java:203)
at java.util.Arrays$ArrayList.<init>(Arrays.java:3813)
at java.util.Arrays.asList(Arrays.java:3800)
at db.<clinit>(db.java:23)
... 2 more这是导致错误的代码:
public static String strLine;
public static String[] filearray;
public static List<String> list = Arrays.asList(filearray);
public static void load() throws IOException{
FileInputStream in = new FileInputStream("slist.txt");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
filearray = new String[4];
while ((strLine = br.readLine()) != null) {
for (int j = 0; j < filearray.length; j++){
filearray[j] = br.readLine();
}
}
in.close();错误中引用的第46行:
JList stafflist = new JList(db.list.toArray());我试图以数组的形式加载一个文本文件,并将其添加到JList人员列表中,但我得到了一个运行时错误。
发布于 2015-04-26 17:47:09
在你的声明中:
public static String[] filearray;
public static List<String> list = Arrays.asList(filearray);fileArray为null,您试图在它周围创建一个列表。
您可以在这里初始化fileArray:
public static String[] filearray = new String[4];或者在将值放入filearray之后调用filearray。
发布于 2015-04-26 17:48:18
我在您的代码中看到的问题是:
public static String[] filearray;
public static List<String> list = Arrays.asList(filearray);您正在尝试使用filearray方法将当时为null的Arrays.asList()转换为list。
您应该首先初始化filearray。
https://stackoverflow.com/questions/29881109
复制相似问题