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");
后续将会补充