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