public class Log {
private static StringBuilder log = new StringBuilder();
private static StringBuilder getLog() {
return log;
}
public static void addToLog(String id, String name, String field, String operator, String value, String bValue) {
Calendar calendar = Calendar.getInstance();
String currentTime = formatter.format(calendar.getTime());
getLog().append(currentTime); // line 114
}
}
堆棧跟蹤:StringBuilder的ArrayIndexOutOfBoundsException異常
[java] Exception in thread "Thread-5" java.lang.ArrayIndexOutOfBoundsException
[java] at java.lang.String.getChars(String.java:863)
[java] at java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:416)
[java] at java.lang.StringBuilder.append(StringBuilder.java:132)
[java] at com.retroficiency.system.Log.addToMatchingLog(Log.java:114)
這種方法通常工作得很好,但是我們遇到這種隨機誤差,這一點我想不通爲什麼。有一個獨立的方法,將日誌刷新到文件並清除它:
getLog().delete(0, getMatchingLog().length());
我不認爲這是一個Java錯誤?它變得太久了嗎?謝謝你的幫助!
我認爲這是相反的方式。謝謝。接受一分鐘。 – jn1kk