Примитивные массивы (int, float, char и т. Д.) Никогда не бывают «пустыми» (я предполагаю, что вы имеете в виду «ноль»), потому что примитивные элементы массива никогда не могут быть нулевыми.
По умолчанию массив int обычно содержит 0 при выделении. Тем не менее, я никогда не полагаюсь на это (я думаю, что потратил слишком много времени на написание кода на C).
Один из способов - выбрать значение, которое вы хотите считать «неинициализированным». Это может быть 0, или -1, или какое-то другое значение, которое вы не собираетесь использовать в качестве допустимого значения. Инициализируйте ваш массив к этому значению после его выделения.
Массивы объектов (String [] и любой массив объектов, расширяющих Object), может иметь нулевые элементы, поэтому вы можете создать массив Integer [] и инициализировать его нулевыми элементами. Я думаю, что мне нравится эта идея лучше, чем использование магического значения, как описано выше.