DoubleBuffer 保存要在 I/O 操作中使用的双精度值序列。 DoubleBuffer 类提供以下四类针对长缓冲区的操作:
- 读取单双精度数的绝对和相对 get 方法。
- 写入单双精度数的绝对和相对 put 方法。
- 相对批量 put 和 get 方法,将连续的双精度序列从 int 数组或其他双精度缓冲区传输到此缓冲区,并从该缓冲区传输到数组。
短缓冲区可以通过以下方式创建:
- allocate():这为缓冲区的内容分配空间。
- wrap():这会将现有的长数组包装到缓冲区中。
DoubleBuffer 类的大多数方法与 ByteBuffer 定义的方法直接类似。
类别声明:
public abstract class DoubleBuffer
extends Buffer
implements Comparable<DoubleBuffer>
ShortBuffer类的方法:
方法 | 说明 |
---|---|
DoubleBuffer allocate() | 该方法分配一个新的双缓冲区。 |
DoubleBuffer array() | 此方法返回支持此缓冲区的双精度数组。 |
DoubleBuffer arrayOffset() | 此方法返回缓冲区第一个元素在该缓冲区的后备数组中的偏移量。 |
DoubleBuffer asReadOnlyBuffer() | 此方法创建一个新的只读短缓冲区,共享该缓冲区的内容。 |
DoubleBuffer compact() | 此方法压缩此缓冲区。 |
DoubleBuffer compareTo() | 此方法将此缓冲区与另一个缓冲区进行比较。 |
DoubleBuffer duplicate() | 此方法创建一个新的双缓冲区来共享该缓冲区的内容。 |
DoubleBuffer equals() | 此方法告知此缓冲区是否等于另一个对象。 |
DoubleBuffer get() | 该方法是一个相对 get 方法,返回缓冲区当前位置的双精度值。 |
DoubleBuffer get() | 该方法是一个相对批量获取方法并返回该缓冲区。 |
DoubleBuffer get() | 这个方法是和这个buffer相对的批量获取方法。 |
DoubleBuffer get() | 这个方法是一个绝对的get方法和这个buffer。 |
DoubleBuffer hasArray() | 此方法告知此缓冲区是否由可访问的 int 数组支持。 |
hashCode() | 该方法返回该缓冲区的当前哈希码。 |
isDirect() | 此方法告诉 int 缓冲区是否是直接的。 |
DoubleBuffer order() | 该方法检索该缓冲区的字节顺序。 |
DoubleBuffer put()方法 | 该方法是一个相对的 put 方法并返回该缓冲区。 |
DoubleBuffer put()方法 | 此方法是相对批量放置方法并返回此缓冲区。 |
DoubleBuffer put()方法 | 此方法是相对批量放置方法并返回此缓冲区。 |
DoubleBuffer put()方法 | 此方法是相对批量放置方法并返回此缓冲区。 |
DoubleBuffer put()方法 | 该方法是该缓冲区的绝对 put 方法。 |
DoubleBuffer slice() | 此方法创建一个新的双缓冲区,其内容是该缓冲区内容的共享子序列。 |
toString() | 此方法返回一个总结该缓冲区状态的字符串。 |
DoubleBuffer wrap() | 此方法将双精度数组包装到缓冲区中。 |
DoubleBuffer wrap() | 此方法将双精度数组包装到缓冲区中。 |
以下是一些演示DoubleBuffer类及其方法的程序:
示例 1:
Java
// Java program to demonstrate
// DoubleBuffer class
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaring the capacity of the DoubleBuffer
int capacity = 5;
// Creating the DoubleBuffer
// creating object of Doublebuffer
// and allocating size capacity
DoubleBuffer db = DoubleBuffer.allocate(capacity);
// putting the value in Doublebuffer
db.put(9.26F);
db.put(2, 5.61F);
System.out.println("DoubleBuffer: "
+ Arrays.toString(db.array()));
}
}
输出
DoubleBuffer: [9.260000228881836, 0.0, 5.610000133514404, 0.0, 0.0]
示例 2:
Java
// Java program to demonstrate
// DoubleBuffer class
import java.nio.*;
import java.util.*;
public class GFG {
public static void main(String[] args)
{
// Declaire and initialize the float array
double[] fbb = { 1.25D, 5.34D, 8.56D };
// print the float array length
System.out.println("Array length : " + fbb.length);
// print the float array element
System.out.println("\nArray element : "
+ Arrays.toString(fbb));
// wrap the float array into floatBuffer
// using wrap() method
DoubleBuffer doubleBuffer = DoubleBuffer.wrap(fbb);
// Rewind the floatbuffer
doubleBuffer.rewind();
// print the float buffer
System.out.println(
"\ndoubleBuffer : "
+ Arrays.toString(doubleBuffer.array()));
// print the DoubleBuffer capacity
System.out.println("\ndoublebuffer capacity : "
+ doubleBuffer.capacity());
// print the DoubleBuffer position
System.out.println("\ndoublebuffer position: "
+ doubleBuffer.position());
}
}
输出
Array length : 3 Array element : [1.25, 5.34, 8.56] doubleBuffer : [1.25, 5.34, 8.56] doublebuffer capacity : 3 doublebuffer position: 0
相关用法
- Java java.nio.ByteBuffer用法及代码示例
- Java java.nio.IntBuffer用法及代码示例
- Java java.nio.file.FileStore用法及代码示例
- Java java.nio.FloatBuffer用法及代码示例
- Java java.nio.file.LinkPermission用法及代码示例
- Java java.nio.ShortBuffer用法及代码示例
- Java java.nio.channels.spi.SelectorProvider用法及代码示例
- Java java.nio.charset.CoderResult用法及代码示例
- Java java.nio.charset.CodingErrorAction用法及代码示例
- Java java.nio.channels.spi.AsynchronousChannelProvider用法及代码示例
- Java java.nio.charset.CharsetEncoder用法及代码示例
- Java java.nio.file.attribute.AclEntry用法及代码示例
- Java java.nio.charset.Charset用法及代码示例
- Java java.nio.LongBuffer用法及代码示例
- Java java.nio.channels.Selector用法及代码示例
- Java java.nio.file.spi.FileTypeDetector用法及代码示例
- Java java.nio.ByteOrder用法及代码示例
- Java java.nio.file.attribute.FileTime用法及代码示例
- Java java.nio.file.SimpleFileVisitor用法及代码示例
- Java java.nio.file.FileSystems用法及代码示例
- Java java.nio.CharBuffer用法及代码示例
- Java java.nio.Buffer用法及代码示例
- Java java.nio.file.FileSystem用法及代码示例
- Java java.nio.file.Paths用法及代码示例
- Java java.net.SocketException用法及代码示例
注:本文由纯净天空筛选整理自mank1083大神的英文原创作品 java.nio.DoubleBuffer Class in Java。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。