W Servlet, buduję bardzo dużą ilość treści HTML w StringBuilder, który na końcu musi być zapisany w PrintWriter odpowiedzi. Aby użyć PrintWriter, należy najpierw wywołać metodę ToString() StringBuilder, aby uzyskać zawartość jako String. Ale to niepotrzebnie powiela zawartość. Czy istnieje jakiś sposób bezpośredniego zapisu z StringBuilder, ponieważ już trzyma zawartość?Napisz StringBuilder do Writer, bez toString()
PrintWriter może akceptować CharSequence, ale dokumentacja stwierdza, że nazywa to CharSequence toString(), więc to naprawdę nie pomaga.
Jedyny jasny sposób, jaki widzę, polega na użyciu metody charAt (i) StringBuilder, aby uzyskać i napisać jedną postać na raz, ale czy to byłaby poprawa?
Ulepszenie jest względne. Jeśli twoim celem jest zmniejszenie zużycia pamięci, to tak, to byłaby poprawa. Powinieneś sprawdzić, czy jest wolniejszy. Nie zdziwiłbym się, gdyby - ze względu na buforowanie strumienia wyjściowego - kara wykonania nie była wcale taka duża. –