simendsjo:
I'm setting every element in the array, and every field of the element, so I should be safe, right?
I think that's sufficiently safe. If the GC run before you have initialized those fields, and some of those fields are references/pointers, that could cause memory leaks until the next time the GC runs.
Bye, bearophile