1. 程式人生 > >java型別轉換工具的使用

java型別轉換工具的使用

java型別轉換工具的使用

public class CastUtil {
    /**
     * 轉為String型
     * @param obj
     * @return
     */
    public static String castString(Object obj) {
        return CastUtil.castString(obj,"");
    }

    /**
     * 轉為String型(提供預設值)
     */
    public static String castString(Object obj,String defaultString) {
        return obj != null ? String.valueOf(obj) : defaultString;
    }

    /**
     * 轉為double型
     */
    public static double castDouble(Object obj) {
        return CastUtil.castDouble(obj,0);
    }

    /**
     * 轉為double型(提供預設值)
     */
    public static double castDouble(Object obj,double defaultValue) {
        double doubleValue = defaultValue;
        if(obj != null ) {
            String strValue = castString(obj);
            if(StringUtil.isNotEmpty(strValue)) {
                try {
                    doubleValue = Double.parseDouble(strValue);
                }catch(NumberFormatException e) {
                    doubleValue = defaultValue;
                }
            }
        }
        return doubleValue;
    }

    /**
     * 轉為long型
     */
    public static long castLong(Object obj) {
        return castLong(obj,0);
    }

    /**
     * 轉為long型(提供預設值)
     */
    public static long castLong(Object obj,long defaultValue) {
        long longValue = defaultValue;
        if(obj != null) {
            String strValue = castString(obj);
            if(StringUtil.isNotEmpty(strValue)) {
                try {
                    longValue = Long.parseLong(strValue);
                } catch (NumberFormatException e) {
                    longValue = defaultValue;
                }
            }
        }
        return longValue;
    }

    /**
     * 轉為Int型
     */
    public static int castInt(Object obj) {
        return castInt(obj,0);
    }

    /**
     * 轉為Int(提供預設值)
     */
    public static int castInt(Object obj,int defaultValue) {
        int intValue = defaultValue;
        if(obj != null) {
            String strValue = castString(obj);
            if(StringUtil.isNotEmpty(strValue)) {
                try{
                    intValue = Integer.parseInt(strValue);
                }catch (NumberFormatException e) {
                    intValue = defaultValue;
                }
            }
        }
        return intValue;
    }

    /**
     * 轉為boolean型
     */
    public static boolean castBoolean(Object obj) {
        return CastUtil.castBoolean(obj,false);
    }

    /**
     * 轉為Boolean(提供預設值)
     */
    public static boolean castBoolean(Object obj,boolean defaultValue) {
        boolean booleanValue = defaultValue;
        if(obj != null) {
            booleanValue = Boolean.parseBoolean(castString(obj));
        }
        return booleanValue;
    }
    
}