位置:首頁 > Java技術 > java.lang > java.lang.Character.toChars(int codePoint, char[] dst, int dstIndex)方法實例

java.lang.Character.toChars(int codePoint, char[] dst, int dstIndex)方法實例

java.lang.Character.toChars(int codePoint, char[] dst, int dstIndex) 指定字符(Unicode代碼點),以它的UTF-16表示形式轉換。

如果指定的代碼點為BMP(基本多文種平麵或平麵0)的值,同樣的值存儲在dst[dstIndex],返回1。

如果指定的代碼點是一個輔助字符,它的替代值存儲在dst[dstIndex] (高代理)和dst[dstIndex+1] (低替代),2返回。

聲明

以下是java.lang.Character.toChars()方法的聲明

public static int toChars(int codePoint, char[] dst, int dstIndex)

參數

  • codePoint - 一個Unicode代碼點

  • dst - char,其中編碼點的UTF-16值存儲陣列

  • dstIndex - 開始索引,dst數組,其中轉換的存儲值

返回值

此方法返回1,如果代碼點為BMP代碼點,返回2,如果代碼點是一個增補代碼點。

異常

  • IllegalArgumentException - 如果指定的代碼點不是一個有效的Unicode代碼點

  • NullPointerException - 如是指定的 dst 為 null

  • IllegalArgumentException - 如果dst的索引為負或不小於dst.length,或者如果dstat dst的索引冇有足夠的數組元素(次)來存儲所產生字符的值(次)。 (如果dstIndex等於dst.length-1和指定的代碼點是一個輔助字符,高替代值不存儲在dst[dstIndex])

例子

下麵的例子顯示lang.Character.toChars()方法的使用。

package com.yiibai;

import java.lang.*;

public class CharacterDemo {

   public static void main(String[] args) {

      // create an int primitive cp and assign value
      int cp = 0x0036;

      // create an int primitive res
      int res;

      /**
       *  create a char array dst and assign UTF-16 value of cp
       *  to it using toChars method
       */
      char dst[] = Character.toChars(cp);

      // check if cp is BMP or supplementary code point using toChars
      res = Character.toChars(cp, dst, 0);

      String str1 = "It is a BMP code point";
      String str2 = "It is a is a supplementary code point";

      // print res value
      if ( res == 1 ){
         System.out.println( str1 );
      }
      else if ( res == 2 ){
         System.out.println( str2 );
      }
   }
}

讓我們來編譯和運行上麵的程序,這將產生以下結果:

It is a BMP code point