N个Utils(处理数字和字符串)
数字
BigDecimal
public class AmountCalculated {private static final DecimalFormat df = new DecimalFormat("#.##");public static double add(double a, double b) {double value = new BigDecimal(a).add(new BigDecimal(b)).doubleValue();return Double.valueOf(df.format(value));}public static double subtract(double a, double b) {double value = new BigDecimal(a).subtract(new BigDecimal(b)).doubleValue();return Double.valueOf(df.format(value));}public static double multiply(double a, double b) {double value = new BigDecimal(a).multiply(new BigDecimal(b)).doubleValue();return Double.valueOf(df.format(value));}public static double divide(double a, double b) {double value = new BigDecimal(a).divide(new BigDecimal(b), 2, RoundingMode.DOWN).doubleValue();return Double.valueOf(df.format(value));} }
字符串
String (不可变,变则新建,慢)
StringBuilder (字符串变量,快,线程不安全)
List<String> labelContent = new ArrayList<String>(); labelContent.add(new StringBuilder().append("金蝶应缴订单").append("-").append("楼栋信息").toString());StringBuilder content = new StringBuilder(); content.append("商品订单退单申请提醒:").append("\r\n"); content.append("> 订单编码:").append(goodsOrders.get(0).getOrderCode()).append("\r\n"); content.append("> 下单店铺:").append(smallGoodsSpaceMapper.selectGoodsSpace(SmallGoodsSpace.builder().spaceId(goodsOrders.get(0).getSpaceId()).build()).get(0).getSpaceName()).append("\r\n"); content.append("> 申请时间:").append(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(executeDate)).append("\r\n");
StringBuffer (字符串变量,慢,线程安全)