Java - String codePointCount() 方法



描述

Java String codePointCount() 方法用于返回此字符串指定文本范围内的 Unicode 代码点数(计数)。文本范围从指定的 beginIndex 开始,扩展到索引 endIndex - 1 处的字符。因此,文本范围的长度(以字符计)为 endIndex-beginIndex

索引指的是字符串中的字符位置,第一个字符的值表示第 0 个索引,第二个字符的值表示第 1 个索引,以此类推。codePointCount() 方法接受两个整数参数,分别保存 beginIndex 和 endIndex 值。

语法

以下是 Java String codePointCount() 方法的语法:

public int codePointCount(int beginIndex, int endIndex)

参数

  • beginIndex − 这是文本范围第一个字符的索引。

  • endIndex − 这是文本范围最后一个字符之后的索引。

返回值

此方法返回指定文本范围内的 Unicode 代码点数。

从字符串中获取代码点数(索引为零)示例

如果给定的 beginIndex 和 endIndex 值为零,则 codePointcount() 方法返回零。

在下面的程序中,我们创建了一个值为 “HelloWorld” 的字符串类对象。然后,使用 codePointCount() 方法,我们尝试计算给定范围 (beginIndex = 0, endIndex = 0) 内的字符代码点值。

package com.tutorialspoint;

public class Demo {
   public static void main(String[] args) {
      
      //create an object of the string class
      String str = new String("HelloWorld");
      System.out.println("The given string is: " + str);
      
      //initialize the beginIndex and endIndex value
      int beginIndex = 0;
      int endIndex = 0;
      System.out.println("The given beginIndex and endIndex values are: " + beginIndex + " and " + endIndex);
      
      //using codePointCount() method
      System.out.println("The count of character code point at the given range " + "(" + beginIndex + "," + endIndex + ") is: " + str.codePointCount(beginIndex, endIndex));
   }
}

输出

执行上述程序后,将产生以下结果:

The given string is: HelloWorld
The given beginIndex and endIndex values are: 0 and 0
The count of character code point at the given range (0,0) is: 0

从字符串中获取代码点数时检查异常示例

如果给定的 beginIndex 值 大于 endIndex 值,则此方法将抛出 IndexOutOfBoundException 异常。

在这个例子中,我们创建了一个值为 “JavaProgramming” 的字符串字面量。然后,使用 codePointCount() 方法,我们尝试打印给定范围内的字符代码点数,由于 beginIndex 值大于 endIndex 值,因此该方法会抛出异常。

public class Demo {
   public static void main(String[] args) {
      try {
         
         //string initialization
         String str = "Welcome to Tutorials Point";
         System.out.println("The string value is: " + str);
         
         // initialize the beginIndex and endIndex value
         int beginIndex = 10, endIndex = 5;
         System.out.println("The beginIndex and endIndex values are: " + beginIndex + " and " + endIndex);
         
         //using the codePointCount() method
         System.out.println("The count of character code point at the given range " + "(" + beginIndex + "," + endIndex + ") is: " + str.codePointCount(beginIndex, endIndex));
      } catch (Exception e) {
         e.printStackTrace();
         System.out.println("The exception is: " + e);
      }
   }
}

输出

以下是上述程序的输出:

The string value is: Welcome to Tutorials Pointjava.lang.IndexOutOfBoundsException
      at java.base/java.lang.String.codePointCount(String.java:1610)
      at TP.main(TP.java:16)
The exception is: java.lang.IndexOutOfBoundsException

从字符串中获取代码点数(非零索引)示例

如果给定的 beginIndex 和 endIndex 值为 正数且小于字符串长度,则 codePointCount() 方法将返回给定范围内的字符代码点数。

在下面的示例中,我们用值为 “TutorialsPoint” 实例化字符串类。然后,使用 codePointCount() 方法,我们尝试计算给定范围 (beginIndex = 2, endIndex = 6) 内的字符代码点值。

package com.tutorialspoint.String;
import java.lang.*;
public class Test {
   public static void main (String [] args) {
      
      // instantiate the String class
      String str = new String("TutorialsPoint");
      System.out.println("The given string is: " + str);
      
      //initialize the index values
      int beginIndex = 2, endIndex = 6;
      System.out.println("The beginIndex and endIndex values are: " + beginIndex + " and " + endIndex);
      System.out.print(
         "The count of the character code point at the given range " + "(" + beginIndex + "," + endIndex + ") is: "+ str.codePointCount(beginIndex, endIndex));
   }
}

输出

上述程序产生以下结果:

The given string is: TutorialsPoint
The beginIndex and endIndex values are: 2 and 6
The count of the character code point at the given range (2,6) is: 4
java_lang_string.htm
广告