0

長さゼロのバッファを割り当てる目的を教えてください。

ByteBuffer.allocate(0); // no IllegalArgumentException

API を設計した人がこれを行ったのはなぜですか?

コメントと回答ありがとうございます。

このようなアップデートがあることを願っています。:)

public abstract class ByteBuffer
    extends Buffer
    implements Comparable<ByteBuffer> {

    public static final ByteBuffer VOID = allocate(0);
}
4

2 に答える 2

2

これは Null オブジェクト デザイン パターンhttp://en.wikipedia.org/wiki/Null_Object_patternの実装に使用でき、Collections.emptyList などと同様に、再利用できる不変オブジェクトを作成します。

于 2013-08-14T05:14:00.147 に答える