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() != null
为 false
,则仅计算第二个 !bet.getSeatNo().isEmpty()
。但是由于第一个仅在 getSeatNo()
returns null
时计算为 false
,因此第二个条件必须 NPE。注意到问题了吗?
使用 &&
而不是 ||
以便短路在第一个 false
而不是第一个 true
.
停止
我正在从服务器获取一些数据并在 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() != null
为 false
,则仅计算第二个 !bet.getSeatNo().isEmpty()
。但是由于第一个仅在 getSeatNo()
returns null
时计算为 false
,因此第二个条件必须 NPE。注意到问题了吗?
使用 &&
而不是 ||
以便短路在第一个 false
而不是第一个 true
.