6

カスタムフィルターを実装しています:

public class MyFilter implements javax.servlet.Filter

このdoFilterメソッドでは、StringBuffer と StringBuilder のどちらを使用する必要がありますか?

私はこのようにそれを使用したいと思います:

StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append(MY_CODE_HERE);
response.sendRedirect(stringBuffer.toString());

また...

StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append(MY_CODE_HERE);
response.sendRedirect(stringBuilder.toString());

私はそれStringBufferがスレッドセーフであることを知っていますが、StringBuilderそれで十分でしょうか?

4

5 に答える 5

1

StringBuilderなしのドロップイン代替品として設計されています。StringBuffersynchronization

StringBuilderスレッド間でバッファを共有しようとしている場合を除き、単純に使用してください。StringBuilder元の同期 StringBuffer クラスの非同期相対です。

あなたの場合StringBuilder、完全に理にかなっています。それ以外の場合でも、同期方法を検討してから使用しますStringBuffer

于 2013-07-29T14:11:13.013 に答える