Java 在字符串比较期间获取空指针异常

Java 在字符串比较期间获取空指针异常,java,android,string,class,nullpointerexception,Java,Android,String,Class,Nullpointerexception,I获取java.lang.NullPointerException:将类引用传递给方法时,尝试调用空对象引用上的虚拟方法“boolean java.lang.String.equals(java.lang.Object)”。 导致错误的行是: if (!contactData.getContactNo().equals("")){ 更多代码: 调用方法: recContDBHelper.insertRecord(new ContactData("", number, date)); <-

I获取
java.lang.NullPointerException:将类引用传递给方法时,尝试调用空对象引用上的虚拟方法“boolean java.lang.String.equals(java.lang.Object)”
。 导致错误的行是:

if (!contactData.getContactNo().equals("")){
更多代码:

调用方法:

recContDBHelper.insertRecord(new ContactData("", number, date)); <--Exception here
ContactData
类:

public class ContactData {
    private String contact_name;
    private String ph_no;
    private String time_call;

    public ContactData(String contact_name, String ph_no, String time_call) {
        this.contact_name = contact_name;
        this.ph_no = ph_no;
        this.time_call = time_call;
    }

    public ContactData(String contact_name, String ph_no) {
        this.contact_name = contact_name;
        this.ph_no = ph_no;
    }

    public String getContactNo() {
        return this.ph_no;
    }
}
试试这个

if (contactData.getContactNo() != null && !contactDate.getContactNo().isEmpty()) {
    // your code here
}
似乎
contactData.getContactNo()
正在返回
null

请尝试此操作

if (contactData.getContactNo() != null && !contactDate.getContactNo().isEmpty()) {
    // your code here
}
似乎
contactData.getContactNo()
正在返回
null

请尝试此操作

if (contactData.getContactNo() != null && !contactDate.getContactNo().isEmpty()) {
    // your code here
}
似乎
contactData.getContactNo()
正在返回
null

请尝试此操作

if (contactData.getContactNo() != null && !contactDate.getContactNo().isEmpty()) {
    // your code here
}

似乎
contactData.getContactNo()
正在返回
null

如果不确保实例不为null,请不要尝试在实例上调用方法。 在您的情况下,contactData.getContactNo为null,并且当您尝试调用其上的equals方法时,会抛出NPE。 有两种方法可以避免它。第一个是将空字符串与contactData.getContactNo进行比较,否则请确保contactData和contact.getContactNo不为null

例如:


在不确保实例不为null的情况下,不要尝试调用实例上的方法。 在您的情况下,contactData.getContactNo为null,并且当您尝试调用其上的equals方法时,会抛出NPE。 有两种方法可以避免它。第一个是将空字符串与contactData.getContactNo进行比较,否则请确保contactData和contact.getContactNo不为null

例如:


在不确保实例不为null的情况下,不要尝试调用实例上的方法。 在您的情况下,contactData.getContactNo为null,并且当您尝试调用其上的equals方法时,会抛出NPE。 有两种方法可以避免它。第一个是将空字符串与contactData.getContactNo进行比较,否则请确保contactData和contact.getContactNo不为null

例如:


在不确保实例不为null的情况下,不要尝试调用实例上的方法。 在您的情况下,contactData.getContactNo为null,并且当您尝试调用其上的equals方法时,会抛出NPE。 有两种方法可以避免它。第一个是将空字符串与contactData.getContactNo进行比较,否则请确保contactData和contact.getContactNo不为null

例如:



怎么可能是空的。。我正在将
新联系人数据(“,号码,日期)
传递给该方法。是。。。但是这个电话会返回什么呢?它是否返回尚未初始化的变量的值?代码怎么说?至少有两种可能性:1。创建对象时,数字为空。2你的getter返回null@Ranjith您的getter将返回null。您应该详细说明
ContactData
class@Froyo添加了ContactData类。它如何可以为空。。我正在将
新联系人数据(“,号码,日期)
传递给该方法。是。。。但是这个电话会返回什么呢?它是否返回尚未初始化的变量的值?代码怎么说?至少有两种可能性:1。创建对象时,数字为空。2你的getter返回null@Ranjith您的getter将返回null。您应该详细说明
ContactData
class@Froyo添加了ContactData类。它如何可以为空。。我正在将
新联系人数据(“,号码,日期)
传递给该方法。是。。。但是这个电话会返回什么呢?它是否返回尚未初始化的变量的值?代码怎么说?至少有两种可能性:1。创建对象时,数字为空。2你的getter返回null@Ranjith您的getter将返回null。您应该详细说明
ContactData
class@Froyo添加了ContactData类。它如何可以为空。。我正在将
新联系人数据(“,号码,日期)
传递给该方法。是。。。但是这个电话会返回什么呢?它是否返回尚未初始化的变量的值?代码怎么说?至少有两种可能性:1。创建对象时,数字为空。2你的getter返回null@Ranjith您的getter将返回null。您应该详细说明
ContactData
class@Froyo添加了ContactData类
if(contactData != null && contactData.getContactNo != null)