
- 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 - Character isSurrogatePair() 方法
描述
Java 的 Character isSurrogatePair() 方法用於判斷一對 char 值是否為有效的 Unicode 代理對。
讓我們首先了解什麼是代理對以及它們在各種場景中的作用:
“代理”是 UTF-16 值,用於表示單個補充字元。補充字元是 Unicode 值,在 Unicode 系統中沒有有效的表示;因此,使用一對這樣的代理字元(稱為代理對)來表示這些值。
對中的第一個值稱為高(或前導)代理值,其下一個值稱為低(或尾隨)代理值。16 位高代理碼點值範圍在 U+D800 到 U+DBFF 之間,而 16 位低代理碼點值範圍在 U+DC00 到 U+DFFF 之間。
語法
以下是 Java Character isSurrogatePair() 方法的語法:
public static boolean isSurrogatePair(char high, char low)
引數
high − 要測試的高代理碼值
low − 要測試的低代理碼值
返回值
如果指定的高代理和低代理碼值表示有效的代理對,則此方法返回 true;否則返回 false。
檢查字元對是否為程式碼單元的代理對示例
以下示例演示了 Java Character isSurrogatePair() 方法的用法。在這個例子中,我們建立了兩個 char 變數併為其分配了兩個 Unicode 值。然後使用 isSurrogatePair() 方法檢查字元對,並列印結果。
package com.tutorialspoint; public class CharacterDemo { public static void main(String[] args) { // create 2 char primitives ch1, ch2 char ch1, ch2; // assign values to ch1, ch2 ch1 = '\ud800'; ch2 = '\udc00'; // create a boolean primitive b boolean b; // check if ch1, ch2 is a surrogate pair and assign result to b b = Character.isSurrogatePair(ch1, ch2); String str = "ch1, ch2 is a valid Unicode surrogate pair is " + b; // print b value System.out.println( str ); } }
輸出
讓我們編譯並執行上面的程式,這將產生以下結果:
ch1, ch2 is a valid Unicode surrogate pair is true
檢查字元對是否為程式碼單元的代理對示例
以下示例演示了 Java Character isSurrogatePair() 方法的用法。在這個例子中,我們建立了兩個 char 變數併為其分配了兩個 Unicode 值。然後使用 isSurrogatePair() 方法檢查字元對,並列印結果。
package com.tutorialspoint; public class SurrogatePairDemo { public static void main(String[] args) { char c1 = '\ud800'; char c2 = '\u4563'; boolean b = Character.isSurrogatePair(c1, c2); System.out.println(c1 + " and " + c2 + " are a surrogate pair is " + b); } }
輸出
編譯並執行程式後的輸出將顯示如下:
? and ? are a surrogate pair is false
檢查字元對是否為程式碼單元的代理對示例
我們還可以使用條件語句將方法的布林返回值作為條件傳遞給它。讓我們看一個執行相同操作的示例。
package com.tutorialspoint; public class SurrogatePairDemo { public static void main(String[] args) { char c1 = '\ud801'; char c2 = '\udc3f'; boolean b = Character.isSurrogatePair(c1, c2); if(b) System.out.println("The characters are a surrogate pair"); else System.out.println("The characters are not a surrogate pair"); } }
輸出
給定程式的輸出將顯示如下:
The characters are a surrogate pair
檢查字元對是否為程式碼單元的代理對示例
在另一個示例中,我們宣告並初始化兩個字元陣列,並使用迴圈語句來檢查這兩個陣列中對應的元素是否為代理對。
package com.tutorialspoint; public class SurrogatePairDemo { public static void main(String []args){ char cp1[] = new char[] {'\ud810', '\ud967', '\ud832', '\u7843'}; char cp2[] = new char[] {'\u5637', '\udc10', '\udfff', '\udd56'}; for(int i = 0; i < cp1.length; i++) { if(Character.isSurrogatePair(cp1[i], cp2[i])) System.out.println("The character is a surrogate pair"); else System.out.println("The character is not a surrogate pair"); } } }
輸出
讓我們在列印以下輸出之前編譯並執行上面給出的程式:
The character is not a surrogate pair The character is a surrogate pair The character is a surrogate pair The character is not a surrogate pair