
- 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 appendCodePoint() 方法
Java 的 StringBuilder appendCodePoint() 方法將程式碼點的字串表示形式附加到一個序列中。簡單來說,此方法接受的引數與序列的內容組合起來形成一個新的字串。此序列的長度將增加 Character.charCount(codePoint) 方法的結果。
此方法的整體效果與使用 Character.toChars(int) 方法將引數轉換為字元陣列,然後將該陣列中的字元附加到此字元序列完全相同。
語法
以下是 Java StringBuilder appendCodePoint() 方法的語法
public StringBuilder appendCodePoint(int codePoint)
引數
- codePoint − 一個 Unicode 程式碼點
返回值
此方法返回對該 StringBuilder 物件的引用。
示例:將程式碼點的字串表示形式附加到 StringBuilder
在下面的示例中,當我們簡單地將 Unicode 程式碼點作為引數傳遞給此方法時,此程式碼點的字元將附加到輸入序列並返回。
public class StringBuilderAppend_cdp { public static void main(String args[]) { StringBuilder word = new StringBuilder("Tutorialspoin"); int cp = 116; System.out.println("The input sequence: " + word); System.out.println("The unicode code point: " + cp); System.out.println("The appended sequence: " + word.appendCodePoint(cp)); } }
輸出
編譯並執行給定程式後,輸出將顯示如下:
The input sequence: Tutorialspoin The unicode code point: 116 The appended sequence: Tutorialspoint
示例:在將字元轉換為程式碼點後附加到 StringBuilder
我們還可以透過型別轉換將字元值作為引數傳遞給此方法,並且該方法仍然會返回附加的序列。
public class StringBuilderAppend_cdp { public static void main(String args[]) { StringBuilder word = new StringBuilder("Tutorialspoint"); char ch = '!'; System.out.println("The input sequence: " + word); System.out.println("The character to be appended: " + ch); System.out.println("The appended sequence: " + word.appendCodePoint((int)ch)); } }
輸出
讓我們編譯並執行上面的程式,以生成如下所示的輸出:
The input sequence: Tutorialspoint The character to be appended: ! The appended sequence: Tutorialspoint!
示例:使用 Null 時出現編譯錯誤
但是,如果我們將 null 值作為引數傳遞給此方法,則該方法將引發編譯時錯誤。
public class StringBuilderAppend_cdp { public static void main(String args[]) { StringBuilder word = new StringBuilder("Tutorialspoint"); int ch = null; // a compile time error as there is no code point for null values System.out.println("The appended sequence: " + word.appendCodePoint(ch)); } }
編譯時錯誤
如果我們嘗試編譯並執行上面的程式,則會引發如下所示的編譯時錯誤:
Exception in thread "main" java.lang.Error: Unresolved compilation problem: Type mismatch: cannot convert from null to char at StringBuilderAppend_cdp.main(StringBuilderAppend_cdp.java:7)
示例:使用無效程式碼點時出現異常
假設我們將 Unicode 系統中不存在的程式碼點作為引數傳遞給該方法,則該方法將引發 IllegalArgumentException。
public class StringBuilderAppend_cdp { public static void main(String args[]) { StringBuilder word = new StringBuilder("Tutorialspoint"); int cp = -123; // throws an exception System.out.println("The appended sequence: " + word.appendCodePoint(cp)); } }
異常
如果我們嘗試編譯並執行上面的程式,則會引發 IllegalArgumentException,因為程式碼點不能為負:
Exception in thread "main" java.lang.IllegalArgumentException: Not a valid Unicode code point: 0xFFFFFF85 at java.base/java.lang.Character.toChars(Character.java:9493) at java.base/java.lang.AbstractStringBuilder.appendCodePoint(AbstractStringBuilder.java:962) at java.base/java.lang.StringBuilder.appendCodePoint(StringBuilder.java:443) at StringBuilderAppend_cdp.main(StringBuilderAppend_cdp.java:10)
java_lang_stringbuilder.htm
廣告