我需要替换字符串中的一些字符: 每个DOT到下划线。
简单地说:myString.replace(".","_");
有效。
但是,我想使用Guava中的CharMatcher
,它应该有更好的性能。
CharMatcher dotCharMatcher = CharMatcher.anyOf(".");
dotCharMatcher.replaceFrom(myString, "_");
它在具有许多线程的服务器上运行。
我可以在使用它的类中使dotCharMatcher
成为静态字段,还是应该在每个请求中创建一个静态字段? (它是线程安全吗?)
由于
答案 0 :(得分:6)
是的,从inspection of CharMatcher.java
开始,从anyOf
返回的实例是线程安全的。
但是,Guava's string utilities, explained 文档明确指出Joiner
和Splitter
是线程安全的,但不会对CharMatcher
提出相同的声明。