Boolean.valueOf("1")与Boolean.parseBoolean("1")的取值

本文探讨了Java中Boolean.valueOf与Boolean.parseBoolean的区别,通过实例展示了它们在处理字符串时的不同行为,揭示了潜在的编程陷阱。

Boolean.valueOf(“1”)与Boolean.parseBoolean(“1”)的取值

    boolean r1 = Boolean.valueOf("1");
    boolean r2 = Boolean.parseBoolean("1");
    boolean r3 = Boolean.parseBoolean("TRUE");
    boolean r4 = Boolean.parseBoolean("true");
    boolean r5 = Boolean.parseBoolean("TrUe");

    Log.e("chwn","r1:"+r1+";r2:"+r2+";r3:"+r3+";r4:"+r4 +";r5:"+r5);
E/chwn: r1:false;r2:false;r3:true;r4:true;r5:true
private void generateParent(List<DebtBusinessDayReportWholeAssetVO> wholeVO,String dateDt){ List<DebtBusinessDayReportParentAssetVO> parent = new ArrayList<>(); for (DebtBusinessDayReportWholeAssetVO vo : wholeVO) { // 判空处理 String projType = vo.getProjType(); // 检查是否符合两个条件之一 boolean isTotalLine = projType.contains("合计"); if (!isTotalLine) { continue; // 不符合条件,跳过 } DebtBusinessDayReportParentAssetVO parentVO = new DebtBusinessDayReportParentAssetVO(); parentVO.setDept(vo.getDept()); parentVO.setPal(vo.getPal()); parentVO.setPalMon(vo.getPalMon()); parentVO.setPalYear(vo.getPalYear()); parentVO.setCompareYear(vo.getCompareYear()); parentVO.setProjType(vo.getProjType()); parentVO.setAmt(vo.getAmt()); parentVO.setCompareYesterday(vo.getCompareYesterday()); parentVO.setCompareMon(vo.getCompareMon()); parentVO.setCompareBeginYear(vo.getCompareBeginYear()); parent.add(parentVO); } // 排序 Collections.sort(parent, (a, b) -> { String deptA = a.getDept() == null ? "" : a.getDept().trim(); String deptB = b.getDept() == null ? "" : b.getDept().trim(); // 规则1:a 是母公司 → 排前面(返回 -1) if ("母公司".equals(deptA) && !"母公司".equals(deptB)) return -1; // 规则2:b 是母公司 → b 排前面(即 a 后移,返回 1) if (!"母公司".equals(deptA) && "母公司".equals(deptB)) return 1; // 规则3:都不是或都是母公司 → 按部门名升序排序 return deptA.compareTo(deptB); }); int rowNum = 1; List<LiquidReportChart> chartList = new ArrayList<>(); for (DebtBusinessDayReportParentAssetVO vo : parent) { String deptName = vo.getDept(); // 当前部门名 addField(chartList, deptName, "单日损益", String.valueOf(vo.getPal()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "本月累计损益", String.valueOf(vo.getPalMon()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "本年累计损益", String.valueOf(vo.getPalYear()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "同比变动", String.valueOf(vo.getCompareYear()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "较昨日变动", String.valueOf(vo.getCompareYesterday()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "较上月变动", String.valueOf(vo.getCompareMon()), dateDt, debtBusinessDayReport, rowNum++); addField(chartList, deptName, "年初至今变动", String.valueOf(vo.getCompareBeginYear()), dateDt, debtBusinessDayReport, rowNum++); } }这个方法正确吗,有什么优化的地方,用传统方式
最新发布
10-27
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值