在 Java 中如何最佳化字串連線



問題描述

如何最佳化字串連線?

解決方案

以下示例展示了使用 + 運算子和 StringBuffer.append() 方法連線的效能。

public class StringConcatenate {
   public static void main(String[] args) {
      long startTime = System.currentTimeMillis();
      
      for(int i = 0; i < 5000; i++) {
         String result = "This is"
            + "testing the"
            + "difference"+ "between"
            + "String"+ "and"+ "StringBuffer";
      }
      long endTime = System.currentTimeMillis();
      System.out.println("Time taken for string" 
         + "concatenation using + operator : " 
         + (endTime - startTime)+ " ms");
      long startTime1 = System.currentTimeMillis();
      
      for(int i = 0; i < 5000; i++) {
         StringBuffer result = new StringBuffer();
         result.append("This is");
         result.append("testing the");
         result.append("difference");
         result.append("between");
         result.append("String");
         result.append("and");
         result.append("StringBuffer");
      }
      long endTime1 = System.currentTimeMillis();
      System.out.println("Time taken for String concatenation" 
         + "using StringBuffer : "
         + (endTime1 - startTime1)+ " ms");
   }
}

結果

上述程式碼示例將產生以下結果。結果可能有所不同。

Time taken for stringconcatenation using + operator : 0 ms
Time taken for String concatenationusing StringBuffer : 22 ms

問題描述

如何連線字串?

解決方案

以下示例展示了連線字串。此方法返回一個 String,其值為傳遞給方法的 String,附加到 String 的末尾,用於呼叫此方法。

public class HelloWorld { 
   public static void main(String []args) {
      String s = "Hello"; 
      s = s.concat("word");
      System.out.print(s);
   }
}

結果

上述程式碼示例將產生以下結果。結果可能有所不同。

Helloword
java_strings.htm
Advertisements
© . All rights reserved.