Just like the title shows, I couldn't find any clue about it in Javadoc.
问问题
3040 次
3 回答
4
不,它永远不会。返回 null永远不会有意义,如果您查看实现,它肯定不会。(我意识到依靠文档化的保证通常比实现更好,但我认为没有理由假设它会在这里返回 null。)
特别是,文档指出:
创建一个新分配的字节数组。
和
返回: 此输出流的当前内容,作为字节数组。
如果它返回null,那将是不正确的,不是吗?
于 2012-04-09T09:11:30.297 回答
0
它会null
以一种方式返回;)
ByteArrayOutputStream baos = new ByteArrayOutputStream()
{
public byte[] toByteArray()
{
return null;
}
};
System.out.println(baos.toByteArray());
输出:
null
于 2012-04-09T09:20:55.133 回答
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 回答