code: public List<OpenFalconBean> buildAll(String metric, Object value) {
          if (value == null) {
              LOG.error(new IllegalArgumentException("value不允许为空，以-1替代为异常值,_metric=" + metric));
              value = -1;
          }
          List<OpenFalconBean> falconBeans = new ArrayList<>();
          if (value instanceof Number) {
              falconBeans.add(build(metric, Reflection.toType(value, Number.class)));
              return falconBeans;
          }
          if (value instanceof Map || value instanceof Bean) {
              /**这里使用{@link Bean}标识一个对象是一个bean*/
              falconBeans.add(build(metric, Reflection.toType(value, JSONObject.class)));
              return falconBeans;
          }
          if (value instanceof Collection || value.getClass().isArray()) {
              falconBeans.addAll(build(metric, Reflection.toType(value, JSONArray.class)));
              return falconBeans;
          }
  
          LOG.error(new Throwable(String.format("_metric: %s, value: %s", metric, value)));
          return falconBeans;
  //        throw new RuntimeException("什么鬼?? value=" + value);
      }
docs: 在日后变复杂后，可以考虑抽出来做成builder子类