code: static Class<?>[] getArgTypes(Object[] argValues) {
  		if (argValues == null || argValues.length == 0) {
  			return NULL_ARG_TYPES;
  		}
  		Class<?>[] argTypes = new Class<?>[argValues.length];
  		for (int i=0; i<argValues.length; i++) {
  			argTypes[i] = argValues[i] != null ? argValues[i].getClass() : null;
  		}
  		return argTypes;
  	}
docs: 获取 getter 方法
  使用与 Field 相同的 key，避免生成两次 key值
  ---> jfinal 3.5 已将此功能转移至 FieldKit
  public static MethodInfo getGetterMethod(Long key, Class<?> targetClass, String methodName) {
  Object getterMethod = methodCache.get(key);
  if (getterMethod == null) {
  getterMethod = doGetMethod(key, targetClass, methodName, NULL_ARG_TYPES);
  if (getterMethod != null) {
  methodCache.putIfAbsent(key, getterMethod);
  } else {
  methodCache.putIfAbsent(key, Void.class);
  }
  }
  return getterMethod instanceof MethodInfo ? (MethodInfo)getterMethod : null;
  }