package org.exitsoft.common.utils; import java.util.Date; import org.apache.commons.beanutils.converters.DateConverter; /** * 类型转换工具类 * * @author vincent * */ public class ConvertUtils extends org.apache.commons.beanutils.ConvertUtils{ static { registerDateConverter("yyyy-MM-dd"); } /** * 注册一个时间类型的转换器,当前默认的格式为:yyyy-MM-dd * * @param patterns 日期格式 */ public static void registerDateConverter(String... patterns) { DateConverter dc = new DateConverter(); dc.setUseLocaleFormat(true); dc.setPatterns(patterns); register(dc, Date.class); } /** * 基于Apache BeanUtils转换字符串到相应类型. * * @param value 待转换的字符串. * @param toType 转换目标类型. */ public static Object convertToObject(String value, Class<?> toType) { try { return convert(value, toType); } catch (Exception e) { throw ReflectionUtils.convertReflectionExceptionToUnchecked(e); } } /** * 转换字符串数组到相应类型. * * @param value 待转换的字符串. * @param toType 转换目标类型. */ public static Object convertToObject(String[] values,Class<?> toType) { try { return convert(values, toType); } catch (Exception e) { throw ReflectionUtils.convertReflectionExceptionToUnchecked(e); } } }