MTB*_*MTB 3 java outputstream bytearrayoutputstream
Oracle从 Java 11 开始writeBytes\xe2\x80\x8b(byte[] b)向该类添加了方法。ByteArrayOutputStream该方法采用字节数组并将其写入ByteArrayOutputStream. 然而,ByteArrayOutputStream扩展OutputStream类定义了write\xe2\x80\x8b(byte[] b)做同样的事情。为什么 Java 需要一个新方法来做到这一点?
正如其他人所指出的,新方法的好处是它没有声明为throws IOException.
添加它是为了响应此问题JDK-8180410“ByteArrayOutputStream should not throw IOExceptions”。该问题中所述的基本原理很简单,必须为永远不会抛出的异常编写 a是没有意义的。try ... catch就是这样。
他们(严格来说)不需要添加它。他们添加它是为了方便。
1 - 正如记者所说:“这是矛盾的。”