android 检查空值时出现 NullPointerException

android NullPointerException on checking null value

我正在从服务器获取一些数据并在 getter 和 setter class 中设置值。当值似乎为空时,我在 getter setter class

中得到以下值
Tag [seatNo=null, Value=null, player1=null, player2=null, player3=null, player4=null, player5=null ]

以上数值打印在Logcat

在获得以上值后,我正在检查一个 if 条件,因为该条件导致应用程序崩溃

if (bet.getSeatNo() != null || !bet.getSeatNo().isEmpty() || !bet.getSeatNo().equals("null"))
{

}

如何检查它是否为空?

检查字段empty/null之前,检查"bet"对象是否为空。 访问 null 对象的字段时发生 NullPointerException。

首先您需要检查该值是否不为空。

if(!TextUtils.isEmpty(bet.getSeatNo())){
//Check your condition here
}

尝试这样做:

    if (bet.getSeatNo() != null)
    {
        if(!bet.getSeatNo().isEmpty() && !bet.getSeatNo().equals("null"))
        {

        }
    }
if (bet.getSeatNo() != null || !bet.getSeatNo().isEmpty() || !bet.getSeatNo().equals("null"))

如果 bet.getSeatNo() != nullfalse,则仅计算第二个 !bet.getSeatNo().isEmpty()。但是由于第一个仅在 getSeatNo() returns null 时计算为 false,因此第二个条件必须 NPE。注意到问题了吗?

使用 && 而不是 || 以便短路在第一个 false 而不是第一个 true.

停止