使用Guava CharMatcher作为类中的静态字段。 CharMatcher线程安全吗?

时间:2014-11-05 13:11:46

标签: java multithreading guava

我需要替换字符串中的一些字符: 每个DOT到下划线。

简单地说:myString.replace(".","_"); 有效。

但是,我想使用Guava中的CharMatcher,它应该有更好的性能。

CharMatcher dotCharMatcher = CharMatcher.anyOf(".");
dotCharMatcher.replaceFrom(myString, "_");

它在具有许多线程的服务器上运行。

我可以在使用它的类中使dotCharMatcher成为静态字段,还是应该在每个请求中创建一个静态字段? (它是线程安全吗?)

由于

1 个答案:

答案 0 :(得分:6)

是的,从inspection of CharMatcher.java开始,从anyOf返回的实例是线程安全的。

但是,Guava's string utilities, explained 文档明确指出JoinerSplitter是线程安全的,但不会对CharMatcher提出相同的声明。