以下是引用Eastsun在2007-9-3 15:56:08的发言:
我不是指这个意思.
JAVA String内部用的是UTF-16编码,用char[]保存
但是一个对象占多少内存还与很多因素有关,比如String对象的大小不仅仅指它表示字符串所占空间的大小.
在C/C++中可以使用sizeof()操作符来得到一个对象的大小,但在JAVA中没有直接的方法来得到它.
这儿有篇文章介绍了如何在JAVA中实现sizeof的功能:
http://www.javaworld.com/javaworld/javaqa/2003-12/02-qa-1226-sizeof.html?page=1
哦呵呵。偶理解错了。不过这个问题偶还是不是很清楚。比如String s = "java";它是按照UTF-16编码的呢?还是用GBK编码(中文操作系统)。我以前以为只要是中文操作系统就按照GBK编码。