To me, I wouldn't initialize to "" if I have to loop through entire array to set that. I don't know what your business logic is but I rather do
if (strArr[i] == null)
This is my guess but they are trying to help you optimize the memory usage. So by doing String, it creates 100 reference to a String Class. Not an instance of String Class. So, in case you only use 50 then other half will not be loaded into memory. Anyways, if possible I'd avoid this.