public static boolean isAssignable(Class<?> targetType, Class<?> sourceType) {
		if (null == targetType || null == sourceType) {
			return false;
		}

		// 对象类型
		if (targetType.isAssignableFrom(sourceType)) {
			return true;
		}

		// 基本类型
		if (targetType.isPrimitive()) {
			// 原始类型
			Class<?> resolvedPrimitive = BasicType.wrapperPrimitiveMap.get(sourceType);
			if (resolvedPrimitive != null && targetType.equals(resolvedPrimitive)) {
				return true;
			}
		} else {
			// 包装类型
			Class<?> resolvedWrapper = BasicType.primitiveWrapperMap.get(sourceType);
			if (resolvedWrapper != null && targetType.isAssignableFrom(resolvedWrapper)) {
				return true;
			}
		}
		return false;
	}
public static boolean isAssignable ( Class < ? > targetType , Class < ? > sourceType ) { if ( null == targetType || null == sourceType ) { return false ; } if ( targetType . isAssignableFrom ( sourceType ) ) { return true ; } if ( targetType . isPrimitive ( ) ) { Class < ? > resolvedPrimitive = BasicType . wrapperPrimitiveMap . get ( sourceType ) ; if ( resolvedPrimitive != null && targetType . equals ( resolvedPrimitive ) ) { return true ; } } else { Class < ? > resolvedWrapper = BasicType . primitiveWrapperMap . get ( sourceType ) ; if ( resolvedWrapper != null && targetType . isAssignableFrom ( resolvedWrapper ) ) { return true ; } } return false ; }
检查目标类是否可以从原类转化<br>
转化包括：<br>
1、原类是对象，目标类型是原类型实现的接口<br>
2、目标类型是原类型的父类<br>
3、两者是原始类型或者包装类型（相互转换）

@param targetType 目标类型
@param sourceType 原类型
@return 是否可转化