docs: public static <N extends Number> double cal(List<N> numberList,
              Function<DoubleStream, OptionalDouble> calFunction) {
          return JMCollections.isNullOrEmpty(numberList) ? 0 : calFunction
                  .apply(numberList.stream().mapToDouble(Number::doubleValue))
                  .orElse(0);
      }