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这两个判断有什么区别.....if
* 判断时间条件
*/
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这两个判断有什么区别.....if
怎么可能,永为false把所有为空判断的条件改成类似
endTime==null || "".equals(endTime)
怎么能做到这个条件的呢。
晕,
判断非空的不用改,类似
startTime!=null && !"".equals(startTime) 判断为空的才要改,类似
endTime==null || "".equals(endTime)