在Java中,如何比较字符串创建的性能?
以下示例比较了以两种不同方式创建的两个字符串的性能。
package com.yiibai;
public class StringComparePerformance {
public static void main(String[] args) {
long startTime = System.currentTimeMillis();
for (int i = 0; i < 50000; i++) {
String s1 = "This is a String";
String s2 = "This is a String";
}
long endTime = System.currentTimeMillis();
System.out.println("Time taken for creation" + " of String literals : "
+ (endTime - startTime) + " milli seconds");
long startTime1 = System.currentTimeMillis();
for (int i = 0; i < 50000; i++) {
String s3 = new String("This is a String");
String s4 = new String("This is a String");
}
long endTime1 = System.currentTimeMillis();
System.out.println("Time taken for creation" + " of String objects : "
+ (endTime1 - startTime1) + " milli seconds");
}
}
执行上面示例代码,得到以下结果 -
Time taken for creation of String literals : 0 milli seconds
Time taken for creation of String objects : 16 milli seconds