Java 示例 - 比较字符串性能

  • 问题描述

    如何比较字符串创建的性能?
  • 解决方案

    以下示例比较了以两种不同方式创建的两个字符串的性能。
    
    public class StringComparePerformance {
       public static void main(String[] args) {      
          long startTime = System.currentTimeMillis();
          
          for(int i = 0; i < 50000; i++) {
             String s1 = "hello";
             String s2 = "hello"; 
          }
          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("hello");
             String s4 = new String("hello");
          }
          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