一个关于String类型判断的问题
String startTime="",String endTime="";
/**
* 判断时间条件
*/
if(startTime!=null && !"".equals(startTime) && (endTime==null && "".equals(endTime))){
sb.append(" and FROM_UNIXTIME(createtime,'%Y-%m-%d) =");
sb.append(startTime);
}else if(startTime==null && "".equals(startTime) && (endTime!=null && !"".equals(endTime))){
sb.append(" and FROM_UNIXTIME(createtime,'%Y-%m-%d) =");
sb.append(endTime);
}else if(startTime!=null && !"".equals(startTime) && (endTime!=null && !"".equals(endTime))){
sb.append(" and FROM_UNIXTIME(createtime,'%Y-%m-%d') BETWEEN '");
sb.append(startTime);
sb.append("' AND '");
sb.append(endTime);
sb.append("'");
}
我想问下,为什么这样的判断会进入最后一个判断,我不明白,之前我尝试过很多的判断不行,最后去掉else居然可以了,我想问下,if(){}... if...else这两个判断有什么区别.....
------解决方案--------------------
晕,
判断非空的不用改,类似
startTime!=null && !"".equals(startTime)
判断为空的才要改,类似
endTime==null
------解决方案-------------------- "".equals(endTime)