Вы специально упомянули «массив переменной длины» в своем вопросе, поэтому ни один из существующих двух ответов (как я пишу это) не совсем верен.
В Java нет понятия «массив переменной длины», но есть коллекции, которые служат в этом качестве. Любая коллекция (технически любой "Iterable", супертип коллекций) может быть зациклен так просто:
Collection<Thing> things = ...;
for (Thing t : things) {
System.out.println(t);
}
РЕДАКТИРОВАТЬ: возможно, я неправильно понял, что он имел в виду под "переменной длины". Возможно, он просто имел в виду, что это фиксированная длина, но не каждый экземпляр имеет одинаковую фиксированную длину. В этом случае существующие ответы будут в порядке. Я не уверен, что имелось в виду.