问个关于String类数组内存分配的问题
要写个String的数组,如下面所示
想到一个问题请教大家.
static final int ARRAY_CAPACITY=100;
String [] AddUserId = new String[ARRAY_CAPACITY];
声明基本类型比如int类型的数组,可以根据类型的长度分配对应长度的连续内存
但是上面的语句数组中每个String的长度还未可知
那这条语句的内存分配是怎么完成的
望知无不言,多谢
------解决方案--------------------String是引用类型,这个数组的每个元素都是一个引用(也就是整型数,其值是String的地址),所以占用的连续内存空间是ARRAY_CAPACITY * 4个字节。
------解决方案--------------------你声明的是一个String数组对象,它是一个对象,占用的内存只跟自己有关,而跟它引用的对象无关。