【发布时间】:2010-11-20 02:15:31
【问题描述】:
我使用 java.text.NumberFormat 只是为了将数字转换为更易读的字符串,用逗号分隔千位等。基本上我将其定义为:
public static NumberFormat nf = NumberFormat.getInstance(Locale.US);
...然后我只需在我想要制作数字的可读版本的任何线程中调用 nf.format(some_number) 。但是查看JavaDoc,它说:“数字格式一般是不同步的。建议为每个线程创建单独的格式实例。如果多个线程同时访问一个格式,则必须在外部同步。”
如果我只使用 NumberFormat 对象的 format(number) 方法,会不会出现同步问题?我尝试使用 NumberFormat.getInstance(Locale.US).format(number) 代替,但每次我觉得可能并不真正需要这样做时都会产生相关的开销。这真的需要外部同步吗?或者有没有一种更简单、更有效的方法来完成同样的事情而无需 NumberFormat?
谢谢!
【问题讨论】:
标签: java