No hay mejor reemplazo de de uso general. La clase String de Java está muy bien implementada para uso general.
Hay mejores implementaciones para casos específicos que podrían que ayuda en ciertas circunstancias:
- Ropes permiten la concatenación barata de las grandes cadenas ya que explotan una estructura de árbol compartido. Posiblemente mejor que Strings si la mayor parte del tiempo de tu CPU se usa para concatenar cadenas grandes. Ropes también contiene algunas buenas optimizaciones para grandes bloques de caracteres repetidos y similares. Sin embargo, no son particularmente eficientes para uso general.
- javolution.text.Text es similar en concepto a las cuerdas, pero es más liviano y admite la asignación de memoria personalizada para el uso en tiempo real. Si está trabajando en tiempo real con cadenas grandes, esta puede ser la mejor opción para usted.
- mikera.persistent.Text es mi propia implementación de texto inmutable. Muy rápido, similar en concepto a javolution.text.Text, pero tiene hashcodes precalculados, por lo que será mejor si desea utilizar cadenas grandes como hashmap o hashset. (Necesitaba esto en algún momento, por lo tanto hice mi propio ...)
- StringBuilder es muy bueno si quieres una cadena mutable a la que vas a hacer muchos pequeños cambios.
- char [] array es simple y bastante bueno si lo único que quieres es una cadena mutable de longitud fija, es prácticamente la más eficiente que puedes hacer en la JVM. Vale la pena considerar si está tratando de implementar algún algoritmo de cadena de bajo nivel personalizado. La mayoría de las otras implementaciones de cadenas usan esto debajo del capó .....
Mejor/más completa que la aceptada. – javadba