你应该是学过C或C++的吧,java中的char与C或C++中的char不同,在C/C++中,char是8位字符类型,用来存储ASCII标准字符集,而ASCII中自然是没有汉字的。而java中是使用Unicode来表示,Unicode定义了一个完全国际化的字符集,可以表示人类语言中发现的所有字符,比如拉丁文,希腊文,阿拉伯语,日文片假名,汉字等等,固然就需要更多位来表示这么多字符,所以java中char是16位类型,而英语法语,德语,西班牙语这样的语言的字符很容易包含在8位之内,所以虽然使用Unicode有点大材小用,但也是全球可移植性必须付出的代价。既然java中char是2个字节,所以你存入一个汉字是完全可以的。 |