List<Object> params=new ArrayList<Object>();//参数list
.....
if(!(btype.equals("请选择"))) {
sql+=" and btype=?";params.add(btype);
}
if(!(bpricea==null||bpricea=="")) {
sql+=" and bprice>=?";
params.add(bpricea);
}
if(!(bpriceb==null||bpriceb=="")) {
sql+=" and bprice<=?";
params.add(bpriceb);
}
List<Bookinfo> list=dao.getDestineList(sql, params);
这么一小段代码,却给我一个始料不及大大的麻烦,因为一开始我写的是if(bpricea!=null||bpricea!=""),然后发现这两个price的if总是会被执行,后来改成开头所示就可以了。回头来看,从数学上的交集并集补集来看,两者的确是不等价的。