线程“主”中的异常java.lang.NullPointerException1000

kyriakos:
public class Employees {
    private String[] onomata,eponyma;
    private int[] kwdikoi;
    private int i,kwdikos;
    private String onoma,eponymo;
    private long kwdikoslong;

    {
        FileReader reader = null;

    try {
        reader= new FileReader("employees.json");
        } catch (FileNotFoundException e1) {
            e1.printStackTrace();
        }
    JSONParser jsonparser= new JSONParser();

    try {
        JSONObject jsonobj = (JSONObject) jsonparser.parse(reader); 
        JSONArray baseArray =(JSONArray) jsonobj.get("employees");

        for (int i=0;i<baseArray.size();i++) 
        {
            JSONObject jsonobj2 = (JSONObject) baseArray.get(i);
            onoma=(String) jsonobj2.get("onoma");
            onomata[i]=onoma;
            eponymo=(String) jsonobj2.get("eponymo");
            eponyma[i]=eponymo;
            kwdikoslong=(long) jsonobj2.get("kwdikos");
            kwdikos=(int)kwdikoslong;
            kwdikoi[i]=kwdikos;
        }
    }
    catch (IOException e) {
        e.printStackTrace();
    } catch (ParseException e) {
        e.printStackTrace();
    } 
Harshal Parekh:

您的问题在这里:

private String[] onomata, eponyma;

该变量onomata从不初始化。

try {
    JSONObject jsonobj = (JSONObject) jsonparser.parse(reader); 
    JSONArray baseArray =(JSONArray) jsonobj.get("employees");

    // initialize it here
    onomata = new String[baseArray.size()];

    for (int i = 0; i< baseArray.size(); i++) 
    {
        JSONObject jsonobj2 = (JSONObject) baseArray.get(i);
        onoma=(String) jsonobj2.get("onoma");
        onomata[i]=onoma;
        eponymo=(String) jsonobj2.get("eponymo");
        eponyma[i]=eponymo;
        kwdikoslong=(long) jsonobj2.get("kwdikos");
        kwdikos=(int)kwdikoslong;
        kwdikoi[i]=kwdikos;
    }
}
catch (IOException e) {
    e.printStackTrace();
} catch (ParseException e) {
    e.printStackTrace();
} 

这不会解决所有异常。当您遇到它们时,开始初始化数组并修复它们。


旁注:

此处开始,当a FileNotFoundException出现时,您不应继续执行代码

最好这样做:

jsonobj2.getString("onoma", "DEFAULT");
// than this: (String) jsonobj2.get("onoma")

是所有NullPointerExceptions 的通用解决方案

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

线程“主”中的java异常java.lang.NullPointerException错误

线程“主”中的异常java.lang.NullPointerException?

错误:线程“主”中的异常java.lang.NullPointerException

“线程“主”中的异常java.Lang.NullPointerException”错误

Java,线程“主”中的异常java.lang.NullPointerException由于未初始化对象而导致

从数据库中获取值时线程主java.lang.NullPointerException中的异常

运行Web Scrap程序时出现“线程“主”中的异常java.lang.NullPointerException”错误

线程“主”中的异常java.lang.NullPointerException-HBase索引数据

线程“主”中的异常java.lang.NullPointerException在打印Pojo值时

在线程“主”中获取错误异常java.lang.NullPointerException

线程“主”中的异常java.lang.NullPointerException虚拟堆栈类

为什么我在Java中有此异常:线程“主”中的异常java.lang.NullPointerException

线程“主”中的异常java.lang.NullPointerException com.databricks.dbutils_v1.DBUtilsHolder $$ anon $ 1.invoke

JSON解析器-写入文本文件-线程“主”中的异常java.lang.NullPointerException

PDFbox异常-线程“主”中的异常java.lang.VerifyError

线程“主”中的异常java.lang.NoClassDefFoundError:rpc / Stub

线程“主”中的异常java.lang.StackOverflowError问题

线程“主”中的异常java.lang.NoClassDefFoundError

线程“主”中的异常java.lang.UnsupportedClassVersionError:

线程“主”中的异常java.lang.NoClassDefFoundError:scala / Cloneable

获取错误“线程“主”中的异常java.lang.ExceptionInInitializerError”

线程“主”中的异常java.lang.IllegalMonitorStateException

线程“主”中的异常java.lang.NoSuchFieldError:TRACE

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException。为什么?

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:3

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:4

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:5错误

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:0

线程“主”中的异常java.lang.ArrayIndexOutOfBoundsException:-33