getter函数中的空指针异常

时间:2015-09-23 09:24:57

标签: android getter-setter

我正在开发一个应用程序,我从服务器获取数据,我使用getter和setter函数来设置它们。

这是我的代码......

JSONArray arr1 = new JSONArray(strServerResponse);
JSONObject jsonObj1 = arr.getJSONObject(0);
pojo = new Pojo();
empid = jsonObj1.optString("empid");                
pojo.setId(empid);

我正在使用getter函数

Pojo pojo = new Pojo();
String id = pojo.getId();

这是我的setter和getter函数

public class Pojo {
    private String empid;

    public void setId(String empid) {
        this.empid = empid;
    }

    public String getId() {
        return empid;
    }
}

我正在使用getter函数获取 Null Pointer Exception 。 我做错了吗?谁能帮帮我吗。

3 个答案:

答案 0 :(得分:7)

如果您要从pojo创建一次对象,则无需再创建一个get对象,因此请移除Pojo pojo = new Pojo();并放置:

String id=pojo.getId();

您的代码应该是:

JSONArray arr1 = new JSONArray(strServerResponse);
JSONObject jsonObj1 = arr.getJSONObject(0);
pojo = new Pojo();
empid = jsonObj1.optString("empid");                
pojo.setId(empid);
String id = pojo.getId();

然后使用相同对象,您将拥有自己的身份。

答案 1 :(得分:0)

使用相同的对象来设置和获取值。

JSONArray arr1 = new JSONArray(strServerResponse);
  JSONObject jsonObj1 = arr.getJSONObject(0);
  pojo = new Pojo();
  empid = jsonObj1.optString("empid");                
  pojo.setId(empid);

 String id=pojo.getId();

答案 2 :(得分:0)

它不会工作!!你正在创建另一个对象,它显然会给你空指针异常。每当你做新的Pojo()时,它都会创建新的对象。尝试使用已设置值的同一对象。