### Question:
IntrospectUtil { public static boolean hasCollectionType(Class<?>[] types) { if (types == null || types.length == 0) { return false; } boolean hasCollectionType = false; for (Class<?> typeClazz : types) { if (isCollectionType(typeClazz)) { hasCollectionType = true; break; } } return hasCollectionType; }  static Class<?> getWrapperType(String primitiveType); static JTypeTable initializeJType(String fullyQualifiedClassName); static JTypeTable initializeAsyncInterfaceJType(String fullyQualifiedClassName); static void addAllTypesReferred(Class<?> type, Set<String> typeNameSet); static boolean hasAttachmentTypeRef(Class<?> type, Set<String> typeNameSet); static boolean isParameterizedType(Type type); static boolean isWildCardType(Type type); static boolean isGenericArrayType(Type type); static Method getMethodWithSignature(
				Class<?> clazz, 
				String methodName, 
				Class<?>[] params); static boolean hasCollectionType(Class<?>[] types); static boolean isCollectionType(Class<?> typeClazz); static Class<?> loadClass(String fullyQualifiedClassName); static Method[] getPublicInstanceMethods(Class<?> clazz); static Method[] getMatchedMethods(Class<?> clazz, Set<String> methodNameSet); static boolean isPublicInstanceMethod(Method method); static List<Method> getMethods(Class<?> clazz);  }### Answer:
@Test public void hasCollectionType1() throws Exception { Class<?>[] typeClass = new Class[] { String.class }; Assert.assertFalse(IntrospectUtil.hasCollectionType(typeClass)); }
@Test public void hasCollectionType2() throws Exception { Class<?>[] typeClass = new Class[] { String.class, List.class }; Assert.assertTrue(IntrospectUtil.hasCollectionType(typeClass)); }
@Test public void hasCollectionType3() throws Exception { Class<?>[] typeClass = null; Assert.assertFalse(IntrospectUtil.hasCollectionType(typeClass)); }