java中String占几个字节

如题所述

但是英文字母比较特殊,源自于8位(1字节)的ASCII吗,于是在Unicode码仅使用了低8位(1字节)就可以表示,高8位的话不使用也无所谓。所以char c='a';System.out.println(c.getBytes().lenth()),得到的是1(字节)但汉字就完整地使用了16位(2字节)的Unicode,所以char c='中';System.out.println(c.getBytes().lenth()),得到的是2(字节)综上,c='a'在内存中确实只占1字节,但这不意味着String s="abc"在内存中只占3字节。应该这么说,String s="abc"至少在内存中占3字节。这是因为char是基本数据类型,而String确是对象类型。
温馨提示:答案为网友推荐,仅供参考
相似回答