En un servlet, estoy creando una gran cantidad de contenido HTML en un StringBuilder que, al final, debe escribirse en el PrintWriter de la respuesta. Para utilizar un PrintWriter, primero debe llamar al método toString() de StringBuilder para obtener el contenido como String. Pero esto innecesariamente duplica el contenido. ¿Hay alguna forma de escribir directamente desde StringBuilder ya que contiene el contenido?Escribir un StringBuilder en un escritor, sin toString()
PrintWriter puede aceptar una CharSequence, pero la documentación indica que llama al toString de CharSequence(), por lo que realmente no ayuda.
La única manera clara que puedo ver es usar el método charAt (i) de StringBuilder para obtener y escribir un carácter a la vez, pero ¿sería esto una mejora?
La mejora es relativa. Si su objetivo es reducir el consumo de memoria, entonces sí sería una mejora. Deberías probar si es más lento. No me sorprendería si, debido al almacenamiento en búfer del flujo de salida, la penalización de rendimiento no fuera tan grande después de todo. –