CharBuffer hasArray() method in Java

2025年3月27日 | 阅读 3 分钟

java.nio.CharBuffer 包含 hasArray() 函数。CharBuffer 类用于检查缓冲区是否由可访问的 char 数组支持。如果此缓冲区有可访问的底层数组,则返回 true;否则返回 false。如果此方法返回 true,则可以安全地调用 array() 和 arrayOffset() 方法,因为它们操作的是底层数组。

语法

返回值: 仅当此缓冲区不是只读的并且由数组支持时,此 函数 才返回 true。否则,返回 false。

示例 1

该代码演示了如何使用 Java 的 CharBuffer。字符“a”和“b”被插入到容量为 12 个字符的 CharBuffer 的预定位置。在将缓冲区倒回到开头后,它使用 hasArray() 方法确定缓冲区是否由数组支持。尽管在这种情况下它们是例外的,但代码会处理 ReadOnlyBufferException 和 IllegalArgumentException 等可能出现的问题。hasArray() 方法验证 CharBuffer 的存储数组支持,并报告结果。

实施

文件名: CharBufferExample1 .java

输出

 
CharBuffer chabuff is backed by the array   

示例 2

该代码演示了如何在 Java 中创建和使用 CharBuffer。它首先初始化一个 12 个字符的 CharBuffer,并在特定位置用字符“a”和“b”填充它。在倒回缓冲区后,它使用 asReadOnlyBuffer() 创建了一个只读副本。hasArray() 函数在确定此只读缓冲区是否由 数组 支持后,会打印结果。该方法还处理 ReadOnlyBufferException 和 IllegalArgumentException 等错误,尽管后者在这种情况下很少见,因为预计会出现缓冲区操作。

实施

文件名: CharBufferExample2.java

输出

 
CharBuffer charbuff is not backed by the any array