我从程序员测试中得到以下代码
private String formatDate(Date date)
{
String result = "";
//….
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
result = sdf.format(date);
//…
return result;
}
以及多个线程同时使用该方法的附加信息。这有什么问题吗?
我的回答是不,应该没问题(假设 //... 部分没有其他事情发生)。
我的动机是不使用全局或类数据结构。日期作为参数从每个踏板传递,在方法内部仅使用局部变量和局部对象。因此,每个线程将获取并使用它自己的 SimpleDateFormat 类的对象实例。
但是,这不是测试中的“正确”答案。“正确”的答案是 SimpleDateFormat 类不是线程安全的,因此需要同步对该对象的访问。
那么,我或解决方案是否正确?