今天做项目时,将A程序传入的String值作为查询参数上报服务器端执行查询操作,若A程序传入的值为空,则使用本地的数据。
本来很Easy,但总是提示传入的参数有问题。
if (!token.equals("") &&token!= null)
{
//执行字符串不为空的操作
}else{
//执行字符串为空的操作
}
或者
if(token.equals("")||token==null)
{
//执行字符串为空的操作
}else{
//执行字符串不为空的操作
}
根据log显示,A程序传入的值是null,但始终执行字符串不为空的操作。
搞了半天,最后才发现,A程序传入的String的值是“null”而不是null。
真是哭笑不得。
针对这种情况将判断条件修改为:
if(token.equals("null"))
{
//执行字符串为空的操作
}else{
//执行字符串不为空的操作
}
这样才执行正确了。
修改为