在Servlet中,我建立在一個StringBuilder的是,到了最後,需要被寫入到響應的PrintWriter的一個非常大的HTML內容。爲了使用PrintWriter,它必須首先調用StringBuilder的toString()方法以String形式獲取內容。但是這會不必要地重複內容。有什麼方法可以直接從StringBuilder寫入,因爲它已經持有內容了?寫一個StringBuilder一個作家,沒有的toString()
的PrintWriter可以接受的CharSequence,但文檔指出它調用的CharSequence的toString(),所以它並沒有真正的幫助。
唯一明確的方式,我可以看到的是使用StringBuilder的的charAt(I)方法來獲得,並且一次寫一個字,但是這會是一個進步?
改進是相對的。如果你的目標是減少內存消耗,那麼是的,這將是一個改進。你應該測試它是否更慢。如果 - 由於輸出流的緩衝,我不會感到驚訝 - 性能損失畢竟不是那麼大。 –