- Java 程式示例
- 示例 - Home
- 示例 - Environment
- 示例 - Strings
- 示例 - Arrays
- 示例 - Date & Time
- 示例 - Methods
- 示例 - Files
- 示例 - Directories
- 示例 - Exceptions
- 示例 - Data Structure
- 示例 - Collections
- 示例 - Networking
- 示例 - Threading
- 示例 - Applets
- 示例 - Simple GUI
- 示例 - JDBC
- 示例 - Regular Exp
- 示例 - Apache PDF Box
- 示例 - Apache POI PPT
- 示例 - Apache POI Excel
- 示例 - Apache POI Word
- 示例 - OpenCV
- 示例 - Apache Tika
- 示例 - iText
- Java 教程
- Java - Tutorial
- Java 有用的資源
- Java - 快速指南
- Java - 有用的資源
在 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