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