public static Resolver getResolver(Class<?> clazz) {

        if (clazz == Class.class) {

            return ClassResolver.INSTANCE;

        } else if (PrimitiveTypeUtils.isPrimitiveClass(clazz)) {

            return PrimitiveTypeResolver.INSTANCE;

        } else if (clazz.isEnum()) {

            return EnumResolver.INSTANCE;

        } else if (clazz.isArray()) {

            return ArrayResolver.INSTANCE;

        } else if (clazz == Set.class || clazz == HashSet.class || clazz == Collection.class || clazz == List.class
                || clazz == ArrayList.class) {

            return CollectionResolver.INSTANCE;

        } else if (Collection.class.isAssignableFrom(clazz)) {

            return CollectionResolver.INSTANCE;

        } else if (Map.class.isAssignableFrom(clazz)) {

            return MapResolver.INSTANCE;

        } else {
            return JavaBeanResolver.INSTANCE;
        }
    }
@author Robert HG (254963746@qq.com) on 4/20/16.
lts-core/src/main/java/com/github/ltsopensource/autoconfigure/resolver/ResolverUtils.java