Java Character offsetByCodePoints()示例

Java Character offsetByCodePoints()示例

Character.offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset) 是Java中的一个内置方法,它返回给定的char子数组中的索引,该索引与给定的索引有codePointOffset代码点的偏移。start和count参数指定了char数组的一个子数组。在index和codePointOffset给定的文本范围内的未配对的代用品,每个算作一个码点。Character类的offsetByCodePoints(char[] a, int start, int count, int index, int codePointOffset)方法是静态的,因此它应该被静态地访问。一个非静态方法通常是通过声明method_name(参数)来调用。但在这种情况下,由于它是一个静态方法,在调用过程中,类的名称被附加为后缀。如果试图以非静态方式调用java offsetByCodePoints()方法,可能会遇到一个编译问题。

语法

public static int offsetByCodePoints(char[] a, int start, int count, int index,
int codePointOffset)

参数

  • a: char数组
  • 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代码点的绝对数值。

下面的程序说明了Character.offsetByCodePoints()方法。

//Java program for offsetByCodePoints() method
import java.lang.*;
public class gfg {
   public static void main(String[] args) {
      // Creating a char array c_arr and assigning values
      char[] c_arr = new char[] {'g','e','e','k','s'};
 
      // Integer primitives
      int s = 1;
      int c= 4;
 
      // Creating and assigning result of offsetByCodePoints
      // On subarray of c_arr to r
     int r = Character.offsetByCodePoints(c_arr, s, c, 1, 2);
 
      String st = "The index within the subarray is " + r;
 
      System.out.println(st);
   }
}

输出

The index within the subarray is 3

参考:https://docs.oracle.com/javase/7/docs/api/java/lang/Character.html#offsetByCodePoints(char[],%20int,%20int,%20int,%20int)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

Java 参考指南