DoubleBuffer wrap() method in Java with Examples2025 年 3 月 25 日 | 阅读 5 分钟 Java 中的 DoubleBuffer.wrap() 方法允许我们创建一个由现有双精度数组支持的 DoubleBuffer。通过这种技术,我们可以使用现有的数组来存储缓冲区的数据,而无需复制。缓冲区的限制设置为数组的长度,容量等于其长度。 wrap() 方法主要包含两个方法。
wrap(double[] array)java.nio.DoubleBuffer 类有一个 wrap() 函数。要将双精度 数组 包装到缓冲区中,请使用 DoubleBuffer 类。也就是说,对缓冲区的更改也会影响给定的双精度数组,反之亦然。新缓冲区将由给定的双精度数组支持。新缓冲区的 position 为零,mark 未定义,容量和 limit 为 array.length。提供的数组将用作其备份数组,零将作为其数组偏移量。 语法 参数:作为参数传递给此函数的是将支持此缓冲区的数组。 返回值:此方法返回新的双精度缓冲区。 示例 1代码展示了如何使用 DoubleBuffer.wrap() 方法从现有双精度数组创建 DoubleBuffer。首先显示数组的长度和内容。接下来,它使用 wrap() 将数组转换为 DoubleBuffer,以便缓冲区可以使用该数组而无需传输数据。显示缓冲区的 position 和 capacity,并打印其内容。调用 rewind() 后,缓冲区的 position 被重置为 0,但这不会影响缓冲区的 capacity 或底层数组,因为它们都是从包装的数组获得的。 实施文件名: BufferWrapExample1.java 输出 The Array length is given by : 4 The Array element is given by : [4.23, 8.53, 12.23, 16.24] The doubleBuffer is : [4.23, 8.53, 12.23, 16.24] The doublebuffer capacity is : 4 The doublebuffer position is : 0 wrap(double[] array, int offset, int length)在此,对缓冲区的更改也会影响给定的双精度数组,反之亦然。新缓冲区将由给定的双精度数组支持。新缓冲区将具有 array.length 的容量,一个 offset 位置,offset + length 的 limit,以及一个未定义的 mark。提供的数组将作为其备份数组,零将作为其数组偏移量。 语法 参数 此方法需要以下变量 array:用于处理新添加缓冲区的数组。 offset 将使用的子数组的偏移量;它不能大于 array.length,也不能为负数。此值将是新缓冲区的 position。 length:将使用的子数组的长度;它不能大于 array.length - offset,也不能为负数。新缓冲区的 limit 将是 offset + length。 返回值:此方法返回新的双精度缓冲区。 异常:如果 offset 和 length 参数不满足先决条件,则 函数 会抛出 IndexOutOfBoundsException。 示例 1代码展示了如何使用带偏移量和长度的 wrap() 方法来创建 DoubleBuffer。初始化双精度数组后,它将数组包装到从索引 0 到数组整个长度的 DoubleBuffer 中。显示缓冲区的 position 和 capacity,以及其内容。通过调用 rewind() 方法将缓冲区的 position 重置为 0。position 被重置,但缓冲区的 capacity 和底层数组都不会受到 wrap() 方法的影响,该方法将缓冲区的 capacity 设置为与数组的长度匹配。 实施文件名: BufferWrapdoubleExample1.java 输出 The Array length is given by : 4 The Array element is given by : [4.23, 8.53, 12.23, 16.24] The doubleBuffer is : [4.23, 8.53, 12.23, 16.24] Thedoublebuffer capacity is : 4 The doublebuffer position is : 0 示例 2代码中使用 wrap() 方法通过给定的偏移量和长度创建 DoubleBuffer。它在索引 1 处包装数组后跨越了整个数组长度。在包装之后,使用 Rewind() 将缓冲区的 position 重置为 0。然后显示缓冲区的 position、capacity 和内容。重绕后,position 设置为 0,capacity 指示从偏移量到数组末尾的项数。如果偏移量和长度参数错误(例如,如果偏移量加上长度超过了数组的长度),它将抛出 IndexOutOfBoundsException。 实施文件名: BufferWrapdoubleExample2.java 输出 The Array length is given by : 4 The Array element is given by : [4.23, 8.53, 12.23, 16.24] Exception in thread "main" java.lang.IndexOutOfBoundsException at java.base/java.nio.DoubleBuffer.wrap(DoubleBuffer.java:420) at BufferWrapdoubleExample1.main(BufferWrapdoubleExample1.java:16) 下一主题javac 未识别 |
在本节中,我们将讨论如何使用 Java 中的字节数组反转字符串。以下是使用 Java 中的字节数组反转字符串的步骤。此方法的第一步是生成一个长度为……的临时字节数组
阅读 4 分钟
Java.lang.String 或 String 类,是 API 中的一个重要类。String 类在 Java API 中具有许多许多程序员并未立即意识到的独特功能。理解 String 类是学习 Java 的先决条件。它...
阅读 4 分钟
与 Red-Black Tree 类似,AVL 树是 Java 中另一种自平衡 BST(二叉搜索树)。在 AVL 树中,所有节点的左右子树高度差不超过一。它需要 O(h) 时间来执行搜索、最大、最小…
阅读 6 分钟
在 Java 中,代码的大小取决于其功能。如果用户需要较小的功能,代码的长度会较短,易于测试。但如果用户在应用程序中需要更多的功能,代码会变得...
阅读 6 分钟
有时我们希望程序的输出以给定的特定格式打印出来。在 C 编程语言中,这可以使用 printf() 函数来实现。在本节中,我们将讨论不同的输出格式。让我们讨论如何格式化...
阅读 4 分钟
Groovy 和 Java 的区别 Groovy 是一种可选类型和动态编程语言,用于在 Java 平台上开发应用程序。Groovy 的语法与 Java 相似。Groovy 是一种非常强大、强类型、动态和静态的编程语言,它扩展了 JDK。通过扩展...
阅读 3 分钟
给定两个整数 P 和 Q。任务是找出系列的总计数,其中当前元素是系列中上次出现的元素的双倍或两倍以上,并且该系列中的任何元素都不能...
阅读 12 分钟
在本教程中,我们将讨论 Java 中的稀疏数字。稀疏数字是指其二进制表示中不包含任何两个或两个以上连续设置位的数字。让我们通过几个例子来理解它。示例 1:输入 int n =...
阅读 4 分钟
该技术使通过HTTP或HTTPS与各种软件系统进行Web交互成为可能。服务允许各种软件互操作,无论使用的语言、操作系统甚至使用的架构等。这两种是常见的Web...
阅读 4 分钟
进度条是一个水平或垂直的条,用于可视化操作的进度。用于渲染进度条的类是 'JProgressBar',它是 Java Swing 包的一部分。它通过填充来显示特定任务的进度...
11 分钟阅读
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India