final class DateHandler
{
private static volatile DateFormat format = DateFormat.getDateInstance(DateFormat.MEDIUM);
public static Date parse(String str) throws ParseException
{
return format.parse(str);
}
}
因为DateFormat
不是线程安全的,所以该parse()
方法可能会返回一个与参数Date
不对应的值str
。但是用替换return
语句可以
DateFormat.getDateInstance(DateFormat.MEDIUM).parse(str);
解决问题并使其成为线程安全的。
有人可以详细说明一下。