DoubleBuffer put() methods in Java with Examples2025年3月27日 | 阅读7分钟 java.nio.DoubleBuffer 有一个 put(double f) 方法。DoubleBuffer 类用于在写入给定双精度值到动态形成的双精度缓冲区当前位置后增加其位置。 语法 参数: 此方法接受的参数是需要写入双精度缓冲区中的双精度值 f。 返回值: 该函数将双精度值插入返回的缓冲区中。 异常: 此方法抛出以下异常 BufferOverflowException- 如果此缓冲区的当前位置大于或等于其限制。 ReadOnlyBufferException- 如果此缓冲区只能读取。 示例 1该代码说明了如何使用DoubleBuffer在两个缓冲区之间移动数据。buffer1包含三个双精度值(1.1、2.2和3.3),并被分配了容量为5。当buffer1填充完毕后,使用flip()技术将其从写入模式转换为读取模式。然后使用put(DoubleBuffer src)方法将buffer 1的内容移动到buffer 2。最后,buffer2被切换到读取模式,显示并迭代其内容。示例演示了缓冲区之间的数据传输和缓冲区模式切换。 实施文件名: BufferPutExample1.java 输出 The Original DoubleBuffer is given by : 1.1 The Original DoubleBuffer is given by : 2.2 The Original DoubleBuffer is given by : 3.3 示例 2提供的代码说明了使用其put()方法将值添加到DoubleBuffer的过程。由于其容量为3,该缓冲区可以存储三个双精度值。该代码尝试插入四个值,但这超过了缓冲区所能容纳的范围,因此会引发BufferOverflowException。此外,代码中还包含了BufferOverflowException和ReadOnlyBufferException 异常处理。在尝试插入后,通过执行rewind()方法将缓冲区的指针重置到开头,然后显示缓冲区的内容。 实施文件名: BufferPutexample2.java 输出 Trying to position the Double in the position externally its bounds The Exception thrown is given by : java.nio.BufferOverflowException 示例 3该代码说明了如何使用DoubleBuffer类,特别是只读缓冲区是如何工作的。它首先分配一个容量为3的DoubleBuffer,然后使用asReadOnlyBuffer()方法创建一个只读副本。代码尝试使用put()方法向只读缓冲区插入值,但由于缓冲区是只读的,因此不起作用并引发ReadOnlyBufferException。捕获并处理了试图修改只读缓冲区的异常。 实施文件名: BufferPutExample3.java 输出 Trying to position the Double in the position externally its bounds Exception thrown is given by : java.nio.ReadOnlyBufferException put(int index, double f)java.nio.DoubleBuffer 有一个 put(int index, double f) 方法。DoubleBuffer 类使用指定的索引将给定的双精度值写入缓冲区。 语法 参数: 以下参数作为参数传递给此方法 index: 双精度值将在此索引处写入。 f: 要写入的双精度值。 返回值: 此方法返回缓冲区。 异常: 此方法抛出的异常如下 IndexOutOfBoundsException- 如果索引小于缓冲区的限制,或者为负数。 ReadOnlyBufferException- 如果此缓冲区只能读取。 示例 1该代码演示了put(int index, double value)方法的使用,展示了如何使用DoubleBuffer类。它创建了一个容量为3的DoubleBuffer,然后使用put()方法在特定索引(0、2和1)处插入值。插入值后,使用rewind()方法回绕缓冲区。它将位置重置为零,并允许从开头读取缓冲区。为了检测潜在的错误索引和只读缓冲区更新问题,代码还包含了对IndexOutOfBoundsException和ReadOnlyBufferException的异常处理。 实施文件名: BufferDoublePutExample1.java 输出 The Original DoubleBuffer is given by: [8.5600004196167, 7.860000133514404, 9.609999656677246] 示例 2以下代码演示了DoubleBuffer 类的使用,重点介绍了用于在指定索引处插入值的put(int index, double value)函数。我们创建了一个容量为3的DoubleBuffer,并在索引0和2处准确插入了元素。当代码尝试在不允许的负索引(-1)处插入值时,会引发IndexOutOfBoundsException。为了展示如何对无效索引使用异常处理,该异常被捕获并处理。尽管在此实例中未触发,但该方法还捕获了潜在的ReadOnlyBufferException以增强健壮性。 实施文件名: BufferDoublePutExample2.java 输出 Trying to put the value at the negative index The Exception thrown is given by : java.lang.IndexOutOfBoundsException 示例 3此代码演示了如何使用asReadOnlyBuffer()函数和DoubleBuffer来生成DoubleBuffer的只读副本。在分配了一个容量为3的DoubleBuffer后,代码尝试使用put(int index, double value)方法将值插入到只读缓冲区。由于缓冲区是只读的,修改缓冲区的尝试会引发ReadOnlyBufferException,并在捕获后进行处理。尽管在此情况下未引发,但代码仍预期IndexOutOfBoundsException。这说明了Java如何正确处理异常以及只读缓冲区的不可变性。 实施文件名: BufferDoublePutExample3.java 输出 Trying to put the value at the negative index The Exception thrown is by : java.nio.ReadOnlyBufferException 下一个主题Java中的标记接口 |
在 Java 中,boolean 关键字是一种原始数据类型。它用于存储仅有的两个可能值,true 或 false。它指定 1 位信息,其“大小”无法精确定义。boolean 关键字与变量和方法一起使用。其默认值...
阅读1分钟
?在 Java 中,泛型方法是可以处理多种数据类型的 {。它们是语言的一个重要特性,可以实现更灵活和可重用的代码。在本文中,我们将讨论如何在 Java 中调用泛型方法。要调用一个泛型……
阅读 4 分钟
目标是以逗号分隔的升序打印一个数字数组,其中包含数字 1、2 和 3。如果没有包含数字 1、2 和 3 的数字,则打印 -1。示例 1:输入:num_arr[] = {9821, 627183, 12, 1234} 输出:1234, 627183 说明 9821……
7 分钟阅读
风筝图案是另一种复杂的图案程序,由于其编码复杂性,面试官很少问到。风筝基本上是三个三角形的组合。因此,我们将代码分解为三个部分,即上部、中部和下部。让我们来实现代码...
阅读 2 分钟
我们已经在前面讨论过层序遍历。在本教程中,我们将讨论如何在 Java 中执行反向层序遍历。在输入中,给出了一个二叉树,我们的任务是打印包含在各种子节点中的值...
阅读 4 分钟
如果一个正整数没有重复的数字,那么它就是唯一的。换句话说,如果一个数字的各位数字不重复,那么它就是唯一的。例如,20、56、9863、145 等是...
阅读 4 分钟
Java 线程转储是诊断性能问题和排除 Java 应用程序故障的有用工具。但是,对于不熟悉线程转储分析的人来说,阅读和理解这些线程转储可能是一项艰巨的任务。Java 线程转储分析器很有用...
阅读 3 分钟
类用于使用 UDP 而非 TCP 进行无连接套接字编程。Datagrams 是从一个设备通过已建立的网络发送到另一个设备的信息集合。当数据报发送到目标设备时,不保证它会...
阅读 4 分钟
在数学和计算机科学中,顺序很重要,排列是一个引人入胜的主题。字符串中的排列定义为重新排列给定字符串中的字符以创建新的排列。在本节中,我们将讨论字符串排列...
5 分钟阅读
每个人在处理编程时都会遇到错误。错误对开发人员来说很糟糕,因为很难处理。有些错误会导致困扰用户的故障。对于应用程序来说,两个最重要的考量是安全性和安全性。应用程序类型是什么并不重要...
阅读 4 分钟
我们请求您订阅我们的新闻通讯以获取最新更新。
我们提供所有技术(如 Java 教程、Android、Java 框架)的教程和面试问题
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India