java for循环中两种判断方式的比较记录
2017-05-09 16:37
525 查看
记录下在开发月历显示时,客户要求需要把取消的例会在月历上排除掉,下面张贴下两种排除方式的比较,第二种逻辑上是错误的,会出现重复。其实原因还是自己的逻辑性思维不够好。
第一种,正确:
第二种,错误:
第一种,正确:
//排除被取消的例会 if (!CollectionUtils.isEmpty(zhbg_hysgl_xxgl_qxydList)) {//如果存在被取消的例会则进入处理,排除 boolean flag = false; for (int j = 0; j < zhbg_hysgl_xxgl_qxydList.size(); j++) { ZHBG_HYSGL_XXGL_QXYD qxyd = zhbg_hysgl_xxgl_qxydList.get(j); String cancelDate = new java.sql.Date(c_begin.getTime().getTime()).toString(); if (cancelDate.equalsIgnoreCase(qxyd.getQXRQ())) {//判断例会被取消的日期和日历的日期相不相同,不相同才添加例会 flag = true; break; } } if (!flag) { //这里要循环处理实体的属性 json = new JSONObject(); json.put("id", bean.getHYSXXGLID()); strkssj = bean.getLHKSSJ(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); Date sdate = sdf.parse(strkssj); strjssj = bean.getLHJSSJ(); Date edate = sdf.parse(strjssj); bsw = sdate.getHours() <= 12; bxw = edate.getHours() <= 12; if (bsw && bxw) { strsw = "上午"; } else if (sdate.getHours() > 12 && edate.getHours() > 12) { strsw = "下午"; } else { strsw = "全天"; } json.put("start", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHKSSJ()); json.put("end", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHJSSJ()); json.put("description", bean.getLHMC()); json.put("hys", strsw + " " + entxxgl.getHYSMC()); json.put("sqbm", entxxgl.getSSDW_TNAME()); json.put("chrs", entxxgl.getRNCHRS()); json.put("sfapcs", ""); json.put("hybztsyq", ""); jsona.add(json); } }
第二种,错误:
//排除被取消的例会 if (!CollectionUtils.isEmpty(zhbg_hysgl_xxgl_qxydList)) {//如果存在被取消的例会则进入处理,排除 for (int j = 0; j < zhbg_hysgl_xxgl_qxydList.size(); j++) { ZHBG_HYSGL_XXGL_QXYD qxyd = zhbg_hysgl_xxgl_qxydList.get(j); String cancelDate = new java.sql.Date(c_begin.getTime().getTime()).toString(); if (!cancelDate.equalsIgnoreCase(qxyd.getQXRQ())) {//判断例会被取消的日期和日历的日期相不相同,不相同才添加例会 //这里要循环处理实体的属性 json = new JSONObject(); json.put("id", bean.getHYSXXGLID()); strkssj = bean.getLHKSSJ(); SimpleDateFormat sdf = new SimpleDateFormat("HH:mm"); Date sdate = sdf.parse(strkssj); strjssj = bean.getLHJSSJ(); Date edate = sdf.parse(strjssj); bsw = sdate.getHours() <= 12; bxw = edate.getHours() <= 12; if (bsw && bxw) { strsw = "上午"; } else if (sdate.getHours() > 12 && edate.getHours() > 12) { strsw = "下午"; } else { strsw = "全天"; } json.put("start", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHKSSJ()); json.put("end", new java.sql.Date(c_begin.getTime().getTime()) + " " + bean.getLHJSSJ()); json.put("description", bean.getLHMC()); json.put("hys", strsw + " " + entxxgl.getHYSMC()); json.put("sqbm", entxxgl.getSSDW_TNAME()); json.put("chrs", entxxgl.getRNCHRS()); json.put("sfapcs", ""); json.put("hybztsyq", ""); jsona.add(json); } } }
相关文章推荐
- 在access中采用sql和absoluteposition两种方式产生随机记录的速度比较
- 【讨论】两种循环方式的比较
- 两种HTTP连接方式POST&GET的比较
- ASP中存储过程调用的两种方式及比较
- subversion中BDB和FSFS两种存储方式的比较
- 内联函数以及两种传值方式的比较
- ASP中存储过程调用的两种方式及比较
- 按揭贷款的两种还贷方式比较
- SQL2005生成系列号(行号)两种方式效率比较
- JavaScript 两种for循环方式的异同
- 通过反射创建新类示例的两种方式及比较
- arcims 两种连接方式(java connector,servlet connector)的一些比较- -
- ASP中存储过程调用的两种方式,以及不采用存储过程的方式比较
- MVC中两种网页跳转方式的比较和区别
- Oracle Spool的用法小结以及两种方法的比较----------导出记录到文本
- Delphi中动态链接库两种调用方式的比较
- J2ME中两种Http连接方式Post&Get的比较
- Delphi中动态链接库两种调用方式的比较
- ASP中存储过程调用的两种方式及比较
- JAVASCRIPT下判断IE与FF的比较简单的方式