class ExcelFieldService {

    public static Class getFieldClass(final Field field) {
        Class fieldClass = null;

        if (fieldsClassCache.get(field) != null) {
            fieldClass = fieldsClassCache.get(field);
        } else {
            if (isCollection(field)) {
                final ParameterizedType genericListType = (ParameterizedType) field.getGenericType();
                try {
                    fieldClass = Class.forName(genericListType.getActualTypeArguments()[0].getTypeName());
                } catch (ClassNotFoundException e) {
                    logger.error("getFieldClass Error!", e);
                }
            } else {
                fieldClass = field.getType();
            }

            fieldsClassCache.put(field, fieldClass);
        }

        return fieldClass;
    }

    private  ExcelFieldService();

}