Java.lang.Character.offsetByCodePoints() 方法
描述
java.lang.Character.offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) 返回给定 char 子数组中从给定索引偏移 codePointOffset 的索引 代码点。
start 和 count 参数指定 char 数组的子数组。 由 index 和 codePointOffset 给出的文本范围内的未配对代理分别计为一个代码点。
声明
以下是 java.lang.Character.offsetByCodePoints() 方法的声明。
public static int offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)
参数
- a − 字符数组
- start − 子数组第一个字符的索引
- count − 以字符为单位的子数组的长度
- index − 要偏移的索引
- codePointOffset − 代码点的偏移量
返回值
该方法返回子数组中的索引
异常
NullPointerException − 如果 a 为空
IndexOutOfBoundsException − 如果 start 或 count 为负数,或者如果 start + count 大于给定数组的长度,或者如果 index 小于 start 或大于 start + count,或者如果 codePointOffset 为正且文本范围以 index 开头和结尾 带有 start + count - 1 的代码点少于 codePointOffset ,或者如果 codePointOffset 为负数并且以 start 开始并以 index - 1 结尾的文本范围少于 codePointOffset 代码点的绝对值。
示例
下面的例子展示了 lang.Character.offsetByCodePoints() 方法的使用。
package com.tutorialspoint; import java.lang.*; public class CharacterDemo { public static void main(String[] args) { // create a char array c and assign values char[] c = new char[] { 'a', 'b', 'c', 'd', 'e', 'f' }; // craete 2 int primitives start, count and assign values int start = 1; int count = 5; // create an int primitive res int res; // assign result of offsetByCodePoints on subarray of c to res res = Character.offsetByCodePoints(c, start, count, 2, 4); String str = "The index within the subarray of c is " + res; // print res value System.out.println( str ); } }
让我们编译并运行上面的程序,这将产生下面的结果 −
The index within the subarray of c is 6