我有一个方法,其中我将 URL 作为字符串输入,并且我必须从中删除一个后缀并添加另一个后缀。因此,我使用 StringBuilder,但我想知道是否必须指定 Builder 的确切容量,还是依赖默认值16,这在我的所有情况下都不够,因此容量将始终在代码中扩展。?
我的代码是这样的:
private String constructString(final String url, final String suffixToRemove, final String suffixToAdd) {
StringBuilder result = new StringBuilder(url.length() - suffixToRemove.length() + suffixToAdd.length());
.....
}
我想确定放置构建器的默认容量或放置通过获取三个字符串的 .length
构造的确切容量是否会更快。 String.length
操作速度慢吗?
最佳答案
你可以这样做:
final int len = url.length() - suffixToRemove.length();
final StringBuilder sb = new StringBuilder(url);
sb.setLength(len);
return sb.append(suffixToAdd).toString();
关于java - 指定确切的 StringBuilder 容量还是使用默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32862262/