Java每一个字符都对应一个int值?

Ai糖宝 2020年05月29日 179次浏览

碰到一个有趣的问题:
Java每一个字符都对应一个int值?
char a = '我';
System.out.println((int)a);
输出为25105

解答:
首先在Java中,字符使用的是Unicode的UTF-16编码,char是16bit长的百无符号整数,因此范围是:0~65535。而Integer占用的是4 Byte,即32 bit,所以Integer能表示所有的Character,但并不是所有的Integer都能找到对应的Character。