Это имеет смысл, если все ваши даты были предварительно отформатированы, как описано в вашем вопросе. Но если вы используете объекты даты, я бы воспользовался возможностями Java 8+.
Сначала определите lambda
для извлечения частей и возврата массива. Обратите внимание, что вы можете добавить другие компоненты даты или легко изменить порядок в массиве.
Function<LocalDate, int[]> getParts =
ld -> new int[] { ld.getDayOfMonth(),
ld.getMonthValue(), ld.getYear() };
Затем вы можете применить его следующим образом.
LocalDate d = LocalDate.of(2020, 3, 15);
int[] parts = getParts.apply(d);
System.out.println(Arrays.toString(parts));
Печать
[15, 3, 2020]
Или это
// create a list of LocalDate objects.
List<LocalDate> localDates = List.of(
LocalDate.of(2020, 3, 15), LocalDate.of(2020, 3, 16));
// and convert to a list of arrays of date attributes.
List<int[]> dates = localDates.stream().map(getParts::apply)
.collect(Collectors.toList());
dates.forEach(a->System.out.println(Arrays.toString(a)));
Отпечатки
[15, 3, 2020]
[16, 3, 2020]
Еще одним преимуществом этого является то, что вам не нужно следить за тем, чтобы формат совпадал с даты на дату.