我从服务器获取一些数据并在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"))
{
}
如何检查它是否为空?
答案 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() != null
为false
,则仅评估第二个!bet.getSeatNo().isEmpty()
。但由于第一个仅在false
返回getSeatNo()
时评估为null
,因此第二个条件必须为NPE。注意这个问题?
使用&&
代替||
,以便短路停在首先false
而不是第一个true
。