日期:2014-05-20  浏览次数:20607 次

问个关于String类数组内存分配的问题
要写个String的数组,如下面所示
想到一个问题请教大家.

static   final   int   ARRAY_CAPACITY=100;
String   []   AddUserId   =   new   String[ARRAY_CAPACITY];

声明基本类型比如int类型的数组,可以根据类型的长度分配对应长度的连续内存

但是上面的语句数组中每个String的长度还未可知

那这条语句的内存分配是怎么完成的

望知无不言,多谢

------解决方案--------------------
String是引用类型,这个数组的每个元素都是一个引用(也就是整型数,其值是String的地址),所以占用的连续内存空间是ARRAY_CAPACITY * 4个字节。
------解决方案--------------------
你声明的是一个String数组对象,它是一个对象,占用的内存只跟自己有关,而跟它引用的对象无关。