Bis zu jdk7u6 die Teilzeichenfolge-Methode was lightning fast, weil es einfach Zeiger innerhalb einer vorhandenen Zeichenfolge verwendet - so benötigt kein Speicher kopieren. Ich habe dieses Feature ausführlich bei der Implementierung von Parsern verwendet.Problemumgehung für das geänderte jdk6 zu jdk7 Verhalten der Teilzeichenfolge
Angesichts der Zeit, seit die kritische Leistungsmerkmal entfernt wurde, muss es gut geölt Ersatz sein.
Hinweis: Ich könnte theoretisch zurück gehen und die Implementierung von jdk6 kopieren. Aber IIRC war ziemlich stark in der gesamten String-Klasse verpackt - d. H. Nicht leicht zu extrahieren.
So liegt eine solche Implementierung herum - z. B. in einer der leistungsstarken jvm-Parser-Bibliotheken?
Ich behalte nur einen externen Index, Aufnahme, wo wir bei der Zeichenfolge sind. – ZhongYu
@ bayou.io Das löst nicht die Notwendigkeit, den Teilstring zum Beispiel in einer anderen Methode zu extrahieren und zu verwenden. – javadba
übergeben Sie den Index auch an diese Methode: D ... im Grunde ersetzen alle '(String)' mit '(String, int, int)'. (Es sei denn, du kannst das nicht mit der Methode anderer Leute machen) Es ist natürlich nervtötend ... – ZhongYu