0

タイトルが示すように、Javadoc でそれについての手がかりを見つけることができませんでした。

4

3 に答える 3

4

いいえ、決してそうではありません。null を返すことは決して意味がありません。実装を見ると、間違いなくそうではありません。(実装よりも文書化された保証に依存する方が一般的には良いと思いますが、ここで null を返すと仮定する理由はありません。)

特に、ドキュメントには次のように記載されています。

新しく割り当てられたバイト配列を作成します。

戻り値: この出力ストリームの現在の内容 (バイト配列)。

null が返された場合、それらは正しくないでしょうか?

于 2012-04-09T09:11:30.297 に答える
0

いいえ、そうではありません。これまで。コード ByteArrayOutputStream.toByteArray を調べます。

public synchronized byte toByteArray()[] {
    return Arrays.copyOf(buf, count);
}

Arrays.copyOf:

public static byte[] copyOf(byte[] original, int newLength) {
    byte[] copy = new byte[newLength];
    System.arraycopy(original, 0, copy, 0,
                     Math.min(original.length, newLength));
    return copy;
}
于 2012-04-09T12:08:13.990 に答える
0

nullそれは一方向に戻ります;)

ByteArrayOutputStream baos = new ByteArrayOutputStream()
{
    public byte[] toByteArray()
    {
        return null;
    }
};
System.out.println(baos.toByteArray());

出力:

null
于 2012-04-09T09:20:55.133 に答える