关于java.nio.ByteBuffer对象的说法中,不正确的是 A. duplicate()方法会创建一个新的buffer对象,修改这个新buffer对象不会影响原始的封装数据 B. asReadOnlyBuffer()方法返回一个只读的对象,不能修改buffer中的数据 C. wrap()方法将原始类型数组包装成一个buffer对象并返回,对buffer对象的修改会同步修改原始的数据 D. slice()方法会创建一个新的buffer对象,修改这个新buffer对象会导致原始的封装数据也被修改
时间: 2024-03-31 22:32:54 浏览: 71
Java NIO学习笔记——ByteBuffer用法
答案是 D。不正确的是D。slice()方法会创建一个新的buffer对象,但是修改这个新buffer对象不会影响原始的封装数据。slice()方法创建的新的buffer对象与原始的buffer对象共享原始buffer对象的数据,但是它们的位置、标记和限制等属性是相互独立的。因此,如果修改了新的buffer对象的属性,不会影响原始的封装数据。而如果修改新的buffer对象中的数据,则会影响原始的封装数据和其他共享原始数据的buffer对象。
阅读全文