Java - Character isValidCodePoint() 方法



描述

Java 的 Character isValidCodePoint() 方法用於確定一個程式碼點值是否為有效的 Unicode 程式碼點值。範圍在 U+0000 到 U+10FFFF 之間的數值稱為字元的有效程式碼點。

在 Unicode 系統中,程式碼點被定義為字元(char 資料型別)的數值等價物(整數資料型別)。

它們分為兩類:基本多語言平面 (BMP) 字元和補充字元。BMP 字元是一般字元,可以用 16 位 Unicode 系統表示,而補充字元則不能用 16 位 Unicode 系統表示。

BMP 字元的範圍是 U+0000 到 U+FFFF,補充字元的範圍是 U+10000 到 U+10FFFF。

語法

以下是 Java Character isValidCodePoint() 方法的語法

public static boolean isValidCodePoint(int codePoint)

引數

  • codePoint − 要測試的 Unicode 程式碼點

返回值

如果指定的程式碼點值是有效的程式碼點(包含在 MIN_CODE_POINT 和 MAX_CODE_POINT 之間),則此方法返回 true,否則返回 false。

檢查程式碼點是否為有效 Unicode 程式碼點示例

以下示例演示了 Java Character isValidCodePoint() 方法的使用。在此程式中,我們建立了兩個 int 變數併為它們分配了兩個十六進位制值。然後使用 isValidCodePoint() 方法檢查 int 變數的狀態,並列印結果。

package com.tutorialspoint;

public class CharacterDemo {
   public static void main(String[] args) {

      // create 2 int primitives cp1, cp2
      int cp1, cp2;

      // assign values to cp1, cp2
      cp1 = 0x0123;
      cp2 = 0x123fff;

      // create 2 boolean primitives b1, b2
      boolean b1, b2;

      /**
       *  check if cp1, cp2 are valid Unicode code points 
       *  and assign results to b1, b2
       */
      b1 = Character.isValidCodePoint(cp1);
      b2 = Character.isValidCodePoint(cp2);
      String str1 = "cp1 is a valid Unicode code point is " + b1;
      String str2 = "cp2 is a valid Unicode code point is " + b2;

      // print b1, b2 values
      System.out.println( str1 );
      System.out.println( str2 );
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

cp1 is a valid Unicode code point is true
cp2 is a valid Unicode code point is false

檢查字元是否為有效 Unicode 程式碼點示例

由於程式碼點是字元值的數值等價物,因此我們可以對字元變數使用型別轉換技術並將其轉換為 int 值。此 int 值作為引數傳遞給方法。

package com.tutorialspoint;

public class CodePointDemo {
   public static void main(String args[]) {
      char ch = 's';
      boolean b = Character.isValidCodePoint((int)ch);
      System.out.println(ch + " is a valid code point: " + b);
   }
}

輸出

獲得的輸出如下:

s is a valid code point: true

檢查程式碼點是否為有效 Unicode 程式碼點示例

由於此方法的返回型別為布林型,因此我們在本示例中使用條件語句來檢查作為引數傳遞給方法的程式碼點是否為有效程式碼點。

package com.tutorialspoint;

public class CodePointDemo {
   public static void main(String args[]) {
      int ch = 0x0012;
      if(Character.isValidCodePoint(ch))
         System.out.println(ch + " is a valid code point");
      else
         System.out.println(ch + " is not a valid code point");
   }
}

輸出

編譯並執行上述程式後,將顯示如下輸出:

18 is a valid code point

檢查程式碼點是否為有效 Unicode 程式碼點示例

在以下示例中,我們使用迴圈語句將程式碼點陣列中的元素作為引數傳遞給方法,並檢查這些值是否有效。

package com.tutorialspoint;

public class CodePointDemo {
   public static void main(String args[]) {
      int ch[] = {0x0012, 223, 0x15FF};
      for(int i = 0; i < ch.length; i++) {
         if(Character.isValidCodePoint(ch[i]))
            System.out.println(ch[i] + " is a valid code point");
         else
            System.out.println(ch[i] + " is not a valid code point");
      }
   }
}

輸出

編譯並執行上述程式後,獲得的輸出如下:

18 is a valid code point
223 is a valid code point
5631 is a valid code point
java_lang_character.htm
廣告