- package com.hzfuji.sdk.util;
- public class StringUtil {
- public static int TIMES = 20000;
- public static String ADD_EDSTRING = "add";
- public static long compute(StringBuffer sb) {
- long start = System.currentTimeMillis();
- // System.out.println(Long.toString(start));
- for (int i = 0; i < TIMES; i ++) {
- sb.append(ADD_EDSTRING);
- }
- long end = System.currentTimeMillis();
- // System.out.println(Long.toString(end));
- return end - start;
- }
- public static long compute(StringBuilder sb) {
- long start = System.currentTimeMillis();
- for (int i = 0; i < TIMES; i ++) {
- sb.append(ADD_EDSTRING);
- }
- long end = System.currentTimeMillis();
- return end - start;
- }
- public static long compute(String str) {
- long start = System.currentTimeMillis();
- for (int i = 0; i < TIMES; i ++) {
- str = str + ADD_EDSTRING;
- }
- long end = System.currentTimeMillis();
- return end - start;
- }
- public static long compute() {
- long start = System.currentTimeMillis();
- String temp = null;
- for (int i = 0; i < TIMES; i ++) {
- temp = ADD_EDSTRING + ADD_EDSTRING;
- }
- long end = System.currentTimeMillis();
- return end - start;
- }
- public static void main(String[] args) {
- String str = "test";
- StringBuffer stringBuffer = new StringBuffer(str);
- StringBuilder stringBuilder = new StringBuilder(str);
- print("String");
- print(Long.toString(compute(str)));
- print("String Constant");
- print(Long.toString(compute()));
- print("StringBuffer");
- print(Long.toString(compute(stringBuffer)));
- print("StringBuilder");
- print(Long.toString(compute(stringBuilder)));
- }
- private static void print(String... strs) {
- for (String str : strs) {
- System.out.println(str);
- }
- }
- }
String
8266
String Constant
31
StringBuffer
16
StringBuilder
0