通用工具类(字符串、时间格式化、BeanUtils、IO)

通用工具类(字符串、时间格式化、BeanUtils、IO)

1. commons-lang3库

1.1. org.apache.commons.lang3.StringUtils类

日常代码中,我们经常和String字符串打交道,经常对字符串进行处理,稍微不注意的话,很容易出现类似NullPointerException这种简单的错误,我们经常写各种if来判断处理这些非业务的逻辑。这时,我们可以利用大牛apache的轮子,通过其StringUtils里面的一些常用方法,改善我们的代码,让我们的业务代码更简洁、优雅。示例代码:

  @Slf4j
  public class AppTest {
      @Test
      public void stringUtils(){
          String a = "  ";
          String b = null;
          //判断字符对象是否为空以及内容是否为空串(有空格则认为不是空串)
          log.info("StringUtils.isEmpty(a): {}", StringUtils.isEmpty(a));
          //判断字符对象是否为空以及内容是否为空串(有空格也会认为是空串)
          log.info("StringUtils.isBlank(a): {}", StringUtils.isBlank(a));
          //当b=null时,如果b.trim()则会报空指针异常,使用StringUtils.trim(b)可以避免
          log.info("StringUtils.trim(d): {}", StringUtils.trim(b));
  
          String num = "12.3";
          //当b=null时,如果b.trim()则会报空指针异常,使用StringUtils.trim(b)可以避免
          log.info("org.apache.commons.lang3.StringUtils.isNumericSpace(): {} isNumber: {}", num, StringUtils.isNumericSpace(b));
          log.info("com.alibaba.druid.util.StringUtils.isNumber(): {} isNumber: {}", num, com.alibaba.druid.util.StringUtils.isNumber(num));
      }
  }复制代码

 

注意:common-lang3中的StringUtils. isNumeric()或isNumericSpace()并不能判断字符串中带小数点的数字值字符为数字。可以通过com.alibaba.druid.util.StringUtils.isNumber(str),此方法来判断。

 

1.2 org.apache.commons.lang3.time.DateFormatUtils/DateUtils

时间转换工具类:

      @Test
      public void dateFormatUtils() throws Exception{
          String pattern = "yyyy-MM-dd HH:mm:ss";
          String timeStr = DateFormatUtils.format(new Date(), pattern);
          long timestamp = DateUtils.parseDate(timeStr, pattern).getTime();
          log.info("==> current time: {}", timeStr);
          log.info("==> current time timestamp: {}", timestamp);
      }复制代码

总结

StringUtils.isEmpty(str)/StringUtils.isNotEmpty(str): 判断字符对象是否为null或空串(有空格则认为不是空串)

StringUtils.isBlank(str)/StringUtils.isNotBlank(str): 判断字符对象是否为null或

你可能感兴趣的:(工具类)