docs: public static ObjectMethodMatchConf match(Method method, Class[] paras)
  	{
  		Class[] metodParaTypes = method.getParameterTypes();
  		if (paras.length < metodParaTypes.length)
  		{
  
  			return null;
  		}
  		else if (paras.length == metodParaTypes.length)
  		{
  			//精确匹配或者可变参数
  		}
  		else if (paras.length > metodParaTypes.length && metodParaTypes.length != 0
  				&& metodParaTypes[metodParaTypes.length - 1].isArray())
  		{
  			//可变参数，
  		}
  		else
  		{
  			//不匹配
  			return null;
  		}
  
  		int[] convert = new int[metodParaTypes.length];
  
  		for (int j = 0; j < paras.length; j++)
  		{
  
  			if (paras[j] == null)
  			{
  				// 认为匹配
  				convert[j] = NO_CONVERT;
  				continue;
  			}
  
  			if (paras[j] == metodParaTypes[j])
  			{
  				convert[j] = NO_CONVERT;
  				continue;
  			}
  
  			if (metodParaTypes[j] == Object.class)
  			{
  
  				convert[j] = NO_CONVERT;
  
  				continue;
  			}
  			else if (metodParaTypes[j].isAssignableFrom(paras[j]))
  			{
  				convert[j] = NO_CONVERT;
  				continue;
  			}
  			else if (metodParaTypes[j].isPrimitive() && Number.class.isAssignableFrom(paras[j]))
  			{
  				//匹配，但需要类型转化
  				if (metodParaTypes[j] == int.class)
  				{
  					convert[j] = INT_CONVERT;
  				}
  				else if (metodParaTypes[j] == byte.class)
  				{
  					convert[j] = BYTE_CONVERT;
  				}
  				else if (metodParaTypes[j] == char.class)
  				{
  					convert[j] = CHAR_CONVERT;
  				}
  				else if (metodParaTypes[j] == long.class)
  				{
  					convert[j] = LONG_CONVERT;
  				}
  				else if (metodParaTypes[j] == double.class)
  				{
  					convert[j] = DOUBLE_CONVERT;
  				}
  				else if (metodParaTypes[j] == float.class)
  				{
  					convert[j] = FLOAT_CONVERT;
  				}
  				else if (metodParaTypes[j] == short.class)
  				{
  					convert[j] = SHORT_CONVERT;
  				}
  				continue;
  
  			}
  			else if (Number.class.isAssignableFrom(metodParaTypes[j]) && Number.class.isAssignableFrom(paras[j]))
  			{
  				//匹配，但需要类型转化
  				if (metodParaTypes[j] == Integer.class)
  				{
  					convert[j] = INT_CONVERT;
  				}
  				else if (metodParaTypes[j] == Byte.class)
  				{
  					convert[j] = BYTE_CONVERT;
  				}
  				else if (metodParaTypes[j] == Character.class)
  				{
  					convert[j] = CHAR_CONVERT;
  				}
  				else if (metodParaTypes[j] == Long.class)
  				{
  					convert[j] = LONG_CONVERT;
  				}
  				else if (metodParaTypes[j] == Double.class)
  				{
  					convert[j] = DOUBLE_CONVERT;
  				}
  				else if (metodParaTypes[j] == Float.class)
  				{
  					convert[j] = FLOAT_CONVERT;
  				}
  				else if (metodParaTypes[j] == Short.class)
  				{
  					convert[j] = SHORT_CONVERT;
  				}
  				else if (metodParaTypes[j] == BigDecimal.class)
  				{
  					convert[j] = BIGDECIMAL_CONVERT;
  				}
  				continue;
  
  			}
  
  			else if (metodParaTypes[j] == Boolean.class)
  			{
  				if (paras[j] == boolean.class)
  				{
  					convert[j] = NO_CONVERT;
  					continue;
  				}
  			}
  			else if (metodParaTypes[j] == boolean.class)
  			{
  				if (paras[j] == Boolean.class)
  				{
  					convert[j] = NO_CONVERT;
  					continue;
  				}
  			}
  			else if (metodParaTypes[j] == Character.class)
  			{
  				if (paras[j] == char.class)
  				{
  					convert[j] = CHAR_CONVERT;
  					continue;
  				}
  			}
  			else if (metodParaTypes[j] == char.class)
  			{
  				if (paras[j] == Character.class)
  				{
  					convert[j] = CHAR_CONVERT;
  					continue;
  				}
  			}
  			else if (metodParaTypes[j].isArray())
  			{
  
  				if (paras[j].isArray())
  				{
  					Class metodParaTypeComponent = metodParaTypes[j].getComponentType();
  					Class paraTypeComponent = paras[j].getComponentType();
  					if (metodParaTypeComponent == paraTypeComponent)
  					{
  						//不做转化了
  						convert[j] = NO_CONVERT;
  						continue;
  					}
  					return null;
  				}
  				else if (j == metodParaTypes.length - 1)
  				{
  					convert[j] = VARIABLE_ARRAY;
  					break;
  				}
  				else
  				{
  					return null;
  				}
  
  			}
  
  			return null;
  
  		}
  		ObjectMethodMatchConf mc = new ObjectMethodMatchConf();
  		mc.method = method;
  		mc.convert = convert;
  		for (int c : convert)
  		{
  			if (c != 0)
  			{
  				mc.isNeedConvert = true;
  				break;
  			}
  		}
  		mc.method.setAccessible(true);
  		return mc;
  
  	}