看下面的代码,很多人(包括我)认为ch的值应该是’1’,输出应该是1。 试着编译一下吧。
int num=1; charch=(char ) num; system.out.println(ch; 在UTF-8编码方式中乱码(其实这是文字,只是不显示),不是我们想的1。
这是因为在java中,char是16位Unicode字符,而其他类型转换为char类型则直接转换为相应的Unicode代码表字符。
如果要将其他类型转换为char类型,则必须使用Character类的forDigit方法。
publicstaticcharfordigit (int digit,int radix )返回与数字digit相对应的字符,以基数radix表示。 基数是我们说的进制。