java类型转换大集合

来源:互联网 发布:sql plus是什么 编辑:程序博客网 时间:2024/04/28 05:02


import java.math.BigDecimal;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;/** *  * <strong>功能?:</strong>类型转换 * <strong>作者:</strong>Gary Huang * <strong>日期?:</strong> 2014-3-5  * <strong>版权:<strong>版权?所有(C) 2014,QQ 834865081 */public class TransformUtils {public static boolean toBoolean(Object obj) {return toBoolean(obj, false);}public static boolean toBoolean(Object obj, boolean defaultValue) {if (obj == null) {return defaultValue;}try {return Boolean.parseBoolean(toString(obj));} catch (Exception e) {}return defaultValue ;}public static byte toByte(Object obj) {return toByte(obj, (byte) 0);}public static byte toByte(Object obj, byte defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.byteValue();}String value = toString(obj) ;try {return Byte.parseByte( value ) ;} catch (Exception e) {}return defaultValue ;}public static char toCharacter(Object obj) {return toCharacter(obj, (char) ' ');}public static char toCharacter(Object obj, char defaultValue) {if (obj == null) {return defaultValue;}String str = obj.toString().trim();if (str.length() == 0) {return defaultValue;}return (char) str.toCharArray()[0];}public static double toDouble(Object obj) {return toDouble(obj, 0d);}public static double toDouble(Object obj, double defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.doubleValue() ;}String value = toString(obj) ;try {return Double.parseDouble(value) ;} catch (Exception e) {}return defaultValue ;}public static float toFloat(Object obj) {return toFloat(obj, 0);}public static float toFloat(Object obj, float defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.floatValue();}String value = toString(obj) ;try {return Float.parseFloat(value) ;} catch (Exception e) {}return defaultValue ;}public static int toInt(Object obj) {return toInt(obj, 0);}public static int toInt(Object obj, int defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.intValue();}String value = toString(obj) ;try {return Integer.parseInt(value) ;} catch (Exception e) {}return defaultValue ;}public static long toLong(Object obj) {return toLong(obj, 0L);}public static long toLong(Object obj, long defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.longValue();}String value = toString(obj) ;try {return Long.parseLong(value) ;} catch (Exception e) {}return defaultValue ;}public static short toShort(Object obj) {return toShort(obj, (byte) 0);}public static short toShort(Object obj, short defaultValue) {if (obj == null) {return defaultValue;}if (obj instanceof Number) {Number number = (Number) obj;return number.shortValue();}String value = toString(obj) ;try {return Short.parseShort(value) ;} catch (Exception e) {return defaultValue;}}public static String toString(Object value) {if (value == null) {return "";}return value.toString().trim();}public static BigDecimal toBigDecimal(Object value){return toBigDecimal(value , new BigDecimal(0)) ;}public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) {if(value == null){return defaultValue ;}if(value instanceof BigDecimal){BigDecimal decimal = (BigDecimal) value ;return decimal; }return new BigDecimal( toDouble( value ) );}public static String dateToString(Object value, String formart){        Date date = (Date) value;          Calendar calendar = Calendar.getInstance();          calendar.setTime( date ) ;         SimpleDateFormat sdf = new SimpleDateFormat( formart );          return sdf.format( date ) ; }public static Object transform(Object obj,Class<?> clazz){if(clazz == null){return obj ;  }if(int.class.equals(clazz) || Integer.class.equals(clazz)){return toInt(obj) ; }else if( String.class.equals(clazz) ){return toString( obj ) ; }else if(float.class.equals(clazz) || Float.class.equals(clazz)){return toFloat(obj) ; }else if(double.class.equals(clazz) || Double.class.equals(clazz)){return toDouble(obj) ; }else if(byte.class.equals(clazz) || Byte.class.equals(clazz)){return toByte(obj) ; }else if(char.class.equals(clazz) || Character.class.equals(clazz)){return toCharacter(obj) ; }else if(short.class.equals(clazz) || Short.class.equals(clazz)){return toShort(obj) ; }else if(long.class.equals(clazz) || Long.class.equals(clazz)){return toLong(obj) ; }else if(boolean.class.equals(clazz) || Boolean.class.equals(clazz)){return toBoolean(obj) ; }else if(BigDecimal.class.equals(clazz)){return toBigDecimal( obj ) ; }return obj ;}}


0 0
原创粉丝点击