我使用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的情况下实现相同的目的?
谢谢!