关于检查空值的android NullPointerException

时间:2015-04-17 10:47:24

标签: android string null

我从服务器获取一些数据并在getter和setter类中设置值。当值似乎为null时,我在getter setter类中得到以下值

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"))
{

}

如何检查它是否为空?

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

尝试这样做:

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

        }
    }

答案 2 :(得分:0)

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

答案 3 :(得分:0)

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

如果bet.getSeatNo() != nullfalse,则仅评估第二个!bet.getSeatNo().isEmpty()。但由于第一个仅在false返回getSeatNo()时评估为null,因此第二个条件必须为NPE。注意这个问题?

使用&&代替||,以便短路停在首先false而不是第一个true