我试图重用相同的UriTemplate实例,而不是每次都创建它。但是我不知道它是否是线程安全的。

最佳答案

UriTemplate接受它分解为的URI字符串:


private final String uriTemplate;
private final UriComponents uriComponents;
private final List<String> variableNames;
private final Pattern matchPattern;


此封装状态填充在UriTemplate的唯一构造函数中。 UriTemplate上的公共方法不会更改此状态,并且不会以可由外部调用程序更改的方式公开此状态。并且,当然,这种内部状态的类型是不可变的。

因此,是的,UriTemplate是线程安全的。

小警告Javadocs并未明确声明它是线程安全的,因此它不一定必须保持这种状态。

10-06 16:14