code: private Object getValue(String data) {
          Object value = null;
          try {
              //判断是否是日期类型
              Date date = DateUtils.parseDate(data, DATE_PATTERN);
              value = date;
          } catch (ParseException e) {
              //抛异常证明非日期类型
              if ("true".equalsIgnoreCase(data)) {
                  value = Boolean.TRUE;
              } else if ("false".equalsIgnoreCase(data)) {
                  value = Boolean.FALSE;
              } else {
                  //判断是否数字
                  try {
                      BigDecimal bd = new BigDecimal(data);
                      if (this.scale == null || this.scale <= 0) {
                          //不四舍五入，直接输出
                          value = data;
                      } else {
                          value = bd.toString().contains(".") ? bd.setScale(this.scale, RoundingMode.HALF_UP).toString() :
                                  data;
                      }
                  } catch (NumberFormatException e1) {
                      //证明不是数字,直接输出
                      value = data;
                  }
              }
          }
  
          return value;
      }
docs: 判断data的类型，尝试解析成日期类型(返回{@link Date})，其次布尔类型(返回{@link Boolean})，
  然后数字类型(转变成字符串输出)，
  前三种均解析失败则直接返回字符串data
  
  @param data
  @return 解析后的值