【问题标题】:nullpointerexception error when removing null data删除空数据时出现空指针异常错误
【发布时间】:2013-08-30 23:35:32
【问题描述】:

有一个空指针异常错误。错误行是if (!temp4.equals(null)) {。 当我转换为数组时,我想删除 db 中的空数据。请帮我。

String[] celement4array=new String[cc.getCount()];
int b=0;
for (cc.moveToFirst(); !cc.isAfterLast(); cc.moveToNext()) {
    String temp4 = cc.getString(cc.getColumnIndex("element4"));
    if (!temp4.equals(null)) {
        celement4array[b]=temp4;
        b++;
    }
}

【问题讨论】:

    标签: java android


    【解决方案1】:

    使用temp4 != null。调用.equals() 会尝试使用对象null

    == 运算符以及 != 运算符根据被比较的两个元素的内存位置返回 true 或 false。您想知道对象的内存位置是否不存在(null),使用 != 运算符是可行的方法。

    【讨论】:

    • 谢谢。我解决了 nullpointerexception 错误。但我也想在 if 语句删除空元素后减少数组的总长度。我怎样才能做到这一点?请教我。
    • 伊克。 Java 中不应使用“内存位置”。但并非如此。
    • Java 与否,在谈到编程时,每一块数据都在内存中的某个地方。所以字符串在内存中的某个位置。 == 只是比较内存位置是否相同。
    • @user2733182 看看这个问题stackoverflow.com/questions/4870188/…
    • @zyngawow JLS 中没有关于“内存地址”的讨论。我更倾向于认为object == object 是一个对象身份比较。也就是说,它评估为真 iff 1) 双方都是 null(即评估为“无对象”)或 2) 双方评估为同一个对象。如果您必须详细说明,那么请谈谈references,它们(不幸的是,IMOHO)在JLS 中用于描述Java 语义。
    猜你喜欢
    • 2018-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多