我只想将String中的占位符设置为大循环中的运行数。为方便起见,占位符为%d
。什么是更快,使用String的.format或.replace方法?
答案 0 :(得分:1)
因为我不知道答案,但我很好奇,我做了一个非常简单的测试并添加了指标,结果就是这些:
代码:
@Test
public void test(){
String original = "This is the phrase %d";
long init = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
System.out.println(String.format(original, i));
}
long end = System.currentTimeMillis();
long init1 = System.currentTimeMillis();
for(int i = 0; i < 100000; i++){
System.out.println(original.replace("%d", String.valueOf(i)));
}
long end2 = System.currentTimeMillis();
System.out.println("Method 1: " + (end-init));
System.out.println("Method 2: " + (end2-init1));
}
结果
方法1:1950方法2:1361
因此我们可以假设.replace比String的格式方法
更快