字符串转换为Integer、Long、Date(dateFormat)等类型

json报文中一般都是字符串。 如果直接映射到实体的话,在@RequestBody入参的时候会自动转换。
但是如果先映射到一个实体,再对应到另外一个实体,那么就需要手动转换了。
虽然转换很简单,但是总结下,有助于提高效率。

字符串转换为Integer:

public static Integer stringToInteger(String string){
     
    if(!StringUtils.isEmpty(string)){
     
        return Integer.parseInt(string);
    }else{
     
        return null;
    }
}

字符串转换为Long:

public static Long stringToLong(String string){
     
    if(!StringUtils.isEmpty(string)){
     
        return Long.parseLong(string);
    }else{
     
        return null;
    }
}

字符串转换为Date:

public static SimpleDateFormat simpleDateFormat 
	=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

public static Date stringToDate(String string){
     
    if(!StringUtils.isEmpty(string)){
     
        Date date = null;
        try {
     
            date = simpleDateFormat.parse(string);
        } catch (ParseException e) {
     
            e.printStackTrace();
            // 这里可以补逻辑  日志 继续抛异常等
        }
        return date;
    }else{
     
        return null;
    }
}

有的时候数据库的时间存的是Long类型,但也不是毫秒计数法,居然是 年月日时分秒毫秒的 long串,这里也说下转换方法:

// 将 "2008-01-01 12:00:00" 字符串转为   20080101120000999  这样的long串
public static Long stringToDateLong(String string){
     
    if(!StringUtils.isEmpty(string)){
     
        Long dateLong = null;
        try {
     
            Date date = simpleDateFormat.parse(string);
            String format = longSimpleDateFormat.format(date);
            dateLong = Long.parseLong(format);
        } catch (ParseException e) {
     
            e.printStackTrace();
            // 这里可以补逻辑  日志 继续抛异常等
        }
        return dateLong;
    }else{
     
        return null;
    }
}

你可能感兴趣的:(java)