TypeUtil { public static boolean isPrimitive(Class<?> javaBaseClass, String javaFieldName) { Field field = findField(javaBaseClass, javaFieldName); return field != null && field.getType().isPrimitive(); } private  TypeUtil(); static String determineTypeName(Class<?> type); static String determineArrayOfType(JavaType contentType); static boolean isPrimitive(Class<?> javaBaseClass, String javaFieldName); static Field findField(Class<?> javaBaseClass, String javaFieldOrMethodName); static Method findMethod(Class<?> javaBaseClass, String javaMethodName); static T resolveAnnotation(Class<?> javaBaseClass,
            String javaFieldOrMethodName, Class<T> annotationClass); static List<JavaType> resolveAllTypes(JavaType javaType, TypeFactory typeFactory, TypeMapping typeMapping); static Type firstGenericType(MethodParameter param); static Type firstGenericType(Type type, Class<?> containingClass); static Type findTypeFromTypeVariable(TypeVariable typeVariable, Class<?> clazz);  }
@Test public void isPrimitive() throws Exception { assertThat(TypeUtil.isPrimitive(TestClass.class, "primitive")).isTrue(); assertThat(TypeUtil.isPrimitive(TestClass.class, "wrapper")).isFalse(); }