本帖最后由 周磊 于 2012-10-17 23:15 编辑
public static void main(String[] args) {
String s = "黑马GOOD";
char a1 = '黑';
char a2 = '马';
char a3 = 'G';
char a4 = 'O';
char a5 = 'O';
char a6 = 'D';
System.out.println(s.getBytes().length);
}
这样一段代码,上面的String只占用了8字节,而全部用Char则占用了12个字节,给我的感觉就是String内部还有部分采用ASCII表,大家研究下那个4个字节是怎么省下来的
还有是什么让他们区分是两个字节还是一个字节,比如为什么不会出现,把两个字母当成一个汉字输出,一个汉字当成了两个字母输出? |