Usually in such cases, it is coming in scope of more meaningful logic, let's say some searching or manipulating over some of the iterated 'for'-objects in question, so I usually use the functional approach:
public Object searching(Object[] types) { // Or manipulating
List
Major cons:
roughly twice more lines
more consumption of computing cycles, meaning it is slower from algorithmic point-of-view
more typing work
The pros:
the higher ratio to separation of concerns because of functional granularity
the higher ratio of re-usability and control of
searching/manipulating logic without
the methods are not long, thus they are more compact and easier to comprehend
higher ratio of readability
So it is just handling the case via a different approach.
Basically a question to the author of this question: what do you consider of this approach?