Я реализую интерфейс, содержащий ArrayList объектов Station. Он использует следующий код, чтобы вернуть ArrayList в виде коллекции типов.Доступ к ArrayList возвращен как тип Collection <Object>
public class NetworkImpl implements Network {
private Collection<Station> stationList = new ArrayList<Station>();
public Collection<Station> getStations() {
return stationList;
}
}
После того как я заселили stationList ArrayList, я не могу получить доступ к отдельным станциям непосредственно, как бы я идти об этом? Я попытался следующие, но это не работает:
public class Test {
public static void main(String args[]) {
Network newNetwork = new NetworkImpl(); // This is implemented and populated elsewhere
newNetwork.getStations().get(0);
}
}
К сожалению, это школьное задание, я не могу изменить класс, который они нам дали реализовать. – user3371750
@ user3371750 Вам не нужно менять код интерфейса. Найдите «ковариантный тип возврата». –
@ Eng.Fouad См. Мой ответ, это то, что вы имели в виду? –