Java中的一个char类型占字节问题 一个char占两字节,那么'a'是一个char它应

Java中的一个char类型占字节问题
一个char占两字节,那么'a'是一个char它应该占两个字节吧,
System.out.print(String.valueof('a').getBytes().length),打出来确实1字节,这是为何?

String.valueof('a') 所以就不是 char类型的'a',而是String类型的"a"

而String类型占的字节数要看有几个字母或者几个汉字,一个英文字母就是一个字节,一个汉字就是两个字节,这里是"a",所以就占一个字节追问

那如果这样呢?
byte[] b1 = {'a'};
System.out.println(b1.length);
这打出来依然是1个字节

追答

byte[] b1 = {'a','b',3,4};
System.out.println(b1.length);
我像这样写,输出的是4
你这个b1.length输出的是数组长度,好像并不是所占字节数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-07-14
Java中的一个char类型占字节问题 一个char占1字节,而不是俩个字节追问

基本数据类型int = 2char = 4byte,不对?

追答

int = 4 char

本回答被网友采纳
相似回答