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