docs: public static <T> T invokeWithCheck(Object obj, Method method, Object... args) throws UtilException {
  		final Class<?>[] types = method.getParameterTypes();
  		if (null != types && null != args) {
  			Assert.isTrue(args.length == types.length, "Params length [{}] is not fit for param length [{}] of method !", args.length, types.length);
  			Class<?> type;
  			for (int i = 0; i < args.length; i++) {
  				type = types[i];
  				if (type.isPrimitive() && null == args[i]) {
  					// 参数是原始类型，而传入参数为null时赋予默认值
  					args[i] = ClassUtil.getDefaultValue(type);
  				}
  			}
  		}
  
  		return invoke(obj, method, args);
  	}