Integer agentId=webOperator.getCompId();//公司id Integer isEle = p.getIsElectrical().equals("0") ? 0:1;//带电 String aStatus=p.getIfCust().equals("Y") ?"ND":"AR";//状态 String aRemark=p.getIfCust().equals("Y") ?"单独报关":"";//备注 Integer aIfCust = p.getIfCust().equals("Y") ?1:0; String mawbNo =webOperator.getOperCode().replace("_VIP","")+"+JHSD+"+DataUtils.getDate("yyMMdd")+"A"; 优化代码
时间: 2023-07-13 13:08:26 浏览: 154
以下是对代码的优化建议:
1. 可以使用三目运算符简化代码,例如将 `p.getIsElectrical().equals("0") ? 0:1` 简化为 `(p.getIsElectrical().equals("0") ? 0:1)`。
2. 可以将 `p.getIfCust().equals("Y")` 提取成一个变量,例如 `boolean isCust = p.getIfCust().equals("Y");`,这样可以减少重复的代码。
3. 可以将字符串的拼接改为使用 StringBuilder,例如将 `webOperator.getOperCode().replace("_VIP","")+"+JHSD+"+DataUtils.getDate("yyMMdd")+"A"` 改为:
```
StringBuilder sb = new StringBuilder();
sb.append(webOperator.getOperCode().replace("_VIP",""));
sb.append("+JHSD+");
sb.append(DataUtils.getDate("yyMMdd"));
sb.append("A");
String mawbNo = sb.toString();
```
这样可以提高字符串拼接的效率。
4. 可以将一些变量名改为更具有描述性的名称,例如将 `aStatus` 改为 `airwayBillStatus`,将 `aRemark` 改为 `airwayBillRemark`,将 `aIfCust` 改为 `isCustomer`。
综上所述,优化后的代码如下:
```
Integer companyId = webOperator.getCompId();
boolean isElectrical = p.getIsElectrical().equals("0") ? false : true;
boolean isCustomer = p.getIfCust().equals("Y") ? true : false;
String airwayBillStatus = isCustomer ? "ND" : "AR";
String airwayBillRemark = isCustomer ? "单独报关" : "";
StringBuilder sb = new StringBuilder();
sb.append(webOperator.getOperCode().replace("_VIP",""));
sb.append("+JHSD+");
sb.append(DataUtils.getDate("yyMMdd"));
sb.append("A");
String mawbNo = sb.toString();
```
阅读全文