字符常量'P'的大小与包含单个字符的字符串(例如“P”)有区别吗?我知道两者都应该是2字节。我对吗?有没有办法通过Java中的代码检查这个(比如C中的sizeof运算符)? TIA
答案 0 :(得分:0)
char
是两个字节。 String
是Object
,因此其大小实际上取决于实现。典型的实现至少包括:
int
的数组大小,即4个字节; 2
(以字节为单位); Object
)包含的任何其他内容,通常它没有显式字段,但可能具有“隐藏”本机实现数据。因此,对于一个32位系统,将是4 + 4 + 4 + 2 = 14字节,添加可能的对齐效果,我猜它至少会是16个字节。在具有高效压缩指针和足够小的堆的64位系统上,它可能是相同的。