为什么ByteArrayOutputStream不会覆盖write(byte [])方法?

时间:2016-12-23 02:31:36

标签: java error-handling language-design

为什么ByteArrayOutputStream不会覆盖OutputStream.write(byte[] b)方法?它仅覆盖write(byte[] b, int off, int len)版本的偏移量和长度。

当然,write(byte[] b)OutputStream方法的现有实施只是委托给offset == 0len == b.length的其他方法,因此它“有效”但不是很好因为现在baos.write(byteArray)被声明为throw IOException ,即使它永远不会抛出这样的异常

对于实际采用ByteArrayOutputStream(或者具有IOException - 免费专用路径(可能通过强制转换)的方法,这意味着您将使用长格式write()。这不是一个致命的流程 - 但有没有什么理由不让这种方法被覆盖?是否有任何理由在未来的JDK中不会发生(编辑:是的,有充分的理由,请参阅评论)?

0 个答案:

没有答案