以下实例演示了通过 String.intern() 方法来优化字符串:
//StringOptimization.java 文件 public class StringOptimization{ public static void main(String[] args){ String variables[] = new String[50000]; for( int i=0;i <50000;i++){ variables[i] = "s"+i; } long startTime0 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = "hello"; } long endTime0 = System.currentTimeMillis(); System.out.println("Creation time" + " of String literals : "+ (endTime0 - startTime0) + " ms" ); long startTime1 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = new String("hello"); } long endTime1 = System.currentTimeMillis(); System.out.println("Creation time of" + " String objects with 'new' key word : " + (endTime1 - startTime1) + " ms"); long startTime2 = System.currentTimeMillis(); for(int i=0;i<50000;i++){ variables[i] = new String("hello"); variables[i] = variables[i].intern(); } long endTime2 = System.currentTimeMillis(); System.out.println("Creation time of" + " String objects with intern(): " + (endTime2 - startTime2) + " ms"); } }
以上代码实例输出结果为:
Creation time of String literals : 0 ms Creation time of String objects with 'new' key word : 31 ms Creation time of String objects with intern(): 16 ms