
- 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
廣告