- Java.lang 包类
- Java.lang - 首页
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包附加内容
- Java.lang - 接口
- Java.lang - 错误
- Java.lang - 异常
- Java.lang 包有用资源
- Java.lang - 有用资源
- Java.lang - 讨论
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