请教关于长字符串转换为DAte

有如下 String str = "20031103105501"; 长字符串包括分秒
想请教如何转化为 Date型?
我考虑过用Timestamp 的valueOf(String s)方法,但它需要如1999-09-03 12:11:22这种格式,而date本身的setHours(int i)方法等是Deprecated的,因此请教各位有没有比较好的办法。

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
Date date = sdf.parse("20031103105501");