public class TypeUtil {
private TypeUtil() {
}
private static Set<Class<?>> singleValueTypeSet = new HashSet<Class<?>>();
/**
* 添加一个类型到单值集合中。
*
* @param clz
*/
public static void add2SingaleValueMap(Class<?> clz) {
singleValueTypeSet.add(clz);
}
/**
* 是否是枚举类型。
*
* @param clz
* @return
*/
public static boolean isEnum(Class<?> clz) {
return clz.isEnum() || (clz.getSuperclass() != null && clz.getSuperclass().isEnum());
}
/**
* 是否是单值的基本类型。
*
* @param clz
* @return
*/
public static boolean isSingleValueType(Class<?> clz) {
return singleValueTypeSet.contains(clz);
}
/**
* 是否是数组,List,Set类型之一。
*
* @param clz
* @return
*/
public static boolean isCollectionType(Class<?> clz) {
return clz.isArray() || Collection.class.isAssignableFrom(clz);
}
/**
* 是否是Map类型。
*
* @param clz
* @return
*/
public static boolean isMapType(Class<?> clz) {
return Map.class.isAssignableFrom(clz);
}
/**
* 是否是Map.Entry类型。
*
* @param clz
* @return
*/
public static boolean isEntryType(Class<?> clz) {
return Map.Entry.class.isAssignableFrom(clz);
}
/**
* 是否是八种基本类型之一。
*
* @param clz
* @return
*/
public static boolean isPrimitiveType(Class<?> clz) {
return clz.isPrimitive();
}
/**
* 判断是否是使用了XBlinkAsAttribute注解的字段。
*
* @param field
* @return
*/
public static boolean isAttributeField(Field field) {
return null != field.getAnnotation(XBlinkAsAttribute.class);
}
/**
* 判断是否是使用了XBlinkConverter注解的字段。
*
* @param field
* @return
*/
public static boolean isCustomizedField(Field field) {
return null != field.getAnnotation(XBlinkConverter.class);
}
/**
* 尝试寻找并加载这个类。
*
* @param clzName
* @return
*/
public static Class<?> tryFindThisClass(String clzName) {
Class<?> clz = null;
try {
clz = Class.forName(clzName);
} catch (ClassNotFoundException e) {
throw new RuntimeException(String.format("无法加载[%s]这个类。", clzName), e);
}
return clz;
}
}
参考:xblink框架
分享到:
相关推荐
介绍获取方法的参数和返回值类型(包括Type和Class)获取泛型参数类型(包括对象的泛型参数或集合元素的泛型类型)方法首先我们定义一个类:public cla
Aleppo可能包含用于类型检查和转换的工具,如`Aleppo.TypeUtil`,可能有`isString()`, `isNumber()`等方法,帮助开发者安全地处理不同类型的数据。 4. **数组操作**: - 针对数组操作,Aleppo可能提供了扩展的数组...
IO工具类(IoUtil)、文件工具类(FileUtil)、文件类型判断(FileTypeUtil)、文件读取(FileReader)、文件写入(FileWriter)和文件监听(WatchMonitor)则为文件操作提供了便捷的方法。 字符串工具(StrUtil)...
- **类型转换**:`Convert`工具类提供了丰富的类型转换方法,包括自定义类型转换。 - **日期时间**:`DateUtil`和`DateTimeIO`提供了日期时间的处理和序列化/反序列化功能。 - **IO流**:`IoUtil`包含各种IO流...
8. **其他工具**:还有一些通用的工具类,如TypeUtil,提供类型检查和转换的方法;EndianUtil,用于字节序的转换;以及ArrayUtil,提供数组操作的辅助函数。 在使用as3corelib时,开发者可以根据需要选择导入相关的...
This project is a java reflection toolkit, simplify type operations such as set/get property values by name.
- `TypeUtil`工具类提供了类型转换的功能,包括对象转基本类型、字符串转对象等,避免了因类型转换错误导致的异常。 11. **XML处理**: - `XmlUtil`工具类提供了XML文档的读写、解析和操作功能,简化了XML数据的...
8. **类型检查**:`com.adobe.utils.TypeUtil` 提供了一些静态方法,可以用来检查变量的类型,确保代码的健壮性。 9. **字符串操作**:`com.adobe.utils.StringUtil` 类包含了一些字符串处理的辅助函数,如比较、...
整理了几个在DotNet2.0中C#开发常用的基础工具类,内容如下:StringUtil、ParseUtil、TypeUtil、ByteUtil、NumUtil、XmlUtil、RegexUtil、HashUtil、ColorUtil。
com/wordnik/swagger/core/util/TypeUtil.scala com/wordnik/swagger/model/AuthorizationModels.scala com/wordnik/swagger/model/SwaggerModels.scala com/wordnik/swagger/model/SwaggerSerializers.scala ...