- 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 StringBuilder codePointCount() 方法
Java 的StringBuilder codePointCount() 方法用于计算此序列指定文本范围内的 Unicode 代码点的数量。文本范围从指定的起始索引开始,扩展到倒数第二个索引处的字符。因此,文本范围的长度(以字符为单位)为结束索引 - 开始索引。
如果在给定的文本范围内不存在 Unicode 代码点,则该方法不会抛出任何错误,只会打印“0”。
注意 - 未配对的代理代码点分别被视为一个单独的代码点。
语法
以下是 Java StringBuilder codePointCount() 方法的语法
public int codePointCount(int beginIndex, int endIndex)
参数
- beginIndex - 这是文本范围的第一个字符的索引。
- endIndex - 这是文本范围最后一个字符之后的索引。
返回值
此方法返回指定文本范围内的 Unicode 代码点的数量。
示例:获取文本范围的长度
当我们将输入文本视为字母时,该方法将返回作为参数给出的文本范围的长度。
以下示例演示了 Java StringBuilder codePointCount() 方法的使用。
package com.tutorialspoint;
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder buff = new StringBuilder("TUTORIALS");
System.out.println("buffer = " + buff);
// returns the codepoint count from index 1 to 5
int retval = buff.codePointCount(1, 5);
System.out.println("Count = " + retval);
buff = new StringBuilder("7489042 ");
System.out.println("buffer = " + buff);
// returns the codepoint count from index 3 to 9
retval = buff.codePointCount(3, 9);
System.out.println("Count = " + retval);
buff = new StringBuilder("@#$%^&");
System.out.println("buffer = " + buff);
// returns the codepoint count from index 2 to 4
retval = buff.codePointCount(2, 4);
System.out.println("Count = " + retval);
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
buffer = TUTORIALS Count = 4 buffer = 7489042 Count = 6 buffer = @#$%^& Count = 2
示例:获取没有有效代码点的文本范围的长度
当我们将输入文本视为没有有效代码点的字符时,该方法将返回零。
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder buff = new StringBuilder("/u1298139");
System.out.println("buffer = " + buff);
// returns the codepoint count
int retval = buff.codePointCount(0, 0);
System.out.println("Count = " + retval);
}
}
输出
让我们编译并运行上述程序,这将产生以下结果:
buffer = /u1298139 Count = 0
示例:在检查代码点数量时遇到异常
但是,如果给定的索引参数超过或先于文本范围,则该方法会抛出 IndexOutOfBounds 异常。
public class StringBuilderDemo {
public static void main(String[] args) {
StringBuilder buff = new StringBuilder("djk137");
System.out.println("buffer = " + buff);
// returns the codepoint count from index 2 to 4
int retval = buff.codePointCount(-1, 9);
System.out.println("Count = " + retval);
}
}
异常
如果我们编译并运行程序,则会抛出 IndexOutOfBounds 异常,而不是打印输出:
buffer = djk137 Exception in thread "main" java.lang.IndexOutOfBoundsException at java.lang.AbstractStringBuilder.codePointCount(AbstractStringBuilder.java:320) at java.lang.StringBuilder.codePointCount(StringBuilder.java:227)at StringBuilderDemo.main(StringBuilderDemo.java:11)
java_lang_stringbuilder.htm
广告