Вполне возможно, что оба типа реализации Collection<E>
. Соглашение предназначено для типов классов в Java, чтобы начать с большой буквы. Начиная с 1.5, Java использовал generics для своих коллекций, и вы должны использовать их во всех новых кодах. Поскольку вы используете цикл 1.5 style for
, вы должны написать общий код.
Как правило, лучше использовать функции по наименее конкретному типу, поскольку это дает самое широкое повторное использование. В этом случае вам нужно только что-то, что можно было бы сделать от Collection<T>
до Iterable<T>
, поскольку вам нужно только что-то, что будет работать с циклом for. Таким образом, комбинируя дженерики и меньше мощности дает:
public class PrintLinePrinter {
public <T> void print (Iterable<T> collection) {
for (T item : collection) {
System.out.println(item);
}
}
}
Просто капитализировать Collection и объект, а затем вы сделали. –