java 惯用的几种数据类型转换

java 常用的几种数据类型转换

    几种常见的数据类型转换,记录一下

    一、Timestap与String  BigDecimal与String

    项目使用的数据库Oracle,字段类型为Date与Number,ORM框架为Mybatis,返回类型和参数类型均为         java.util.Map,此时方法返回的Map {END_DATE=2012-11-11 14:39:35.0, FLAG=0} ,本以为(String)map.get(""),直接转换为String类型,最后报错了,为了保证代码健壮,强制类型转换时可以使用instance of判段类型

    

    Timestap转String

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
java.sql.Timestamp ts= (java.sql.Timestamp) map.get("END_DATE");
String endDate=sdf.format(ts);

 

    String转化为Timestamp

   

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = sdf.format(new Date());
Timestamp ts = Timestamp.valueOf(time);

     

    BigDecimal转String

java.math.BigDecimal bd = (BigDecimal)m1.get("FLAG");
String flag = bd.toString();

 

    String转BigDecimal

   

BigDecimal bd = new BigDecimal("10");

    

     二、Date与String之间的转换

 

    String转Date    

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;String str = null;
str = "2010-10-10";
date = format.parse(str); //Sun Oct 10 00:00:00 CST 2010
date = java.sql.Date.valueOf(str); //返回的是java.sql.Date 2010-10-10

 

    Date转String

    

DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;String str = null;
date = new Date(); 
str = format.format(date); 

    省略了异常处理部分

 

    把字符串转化为java.sql.Date

    字符串必须是"yyyy-mm-dd"格式,否则会抛出IllegalArgumentException异常

    java.sql.Date sdt=java.sql.Date.valueOf("2010-10-10");

 

 

    后续将会补充