Iterable作为返回类型-Iterable本身还是子类



我很难理解getAvailableRooms方法。我有一些方法需要填写,但我并不真正理解Iterabl-getAvailableRooms方法。

public interface BookingManager {
public boolean isRoomAvailable(Integer room, LocalDate date);
public void addBooking(String guest, Integer room, LocalDate date);
public Iterabl<Integer> getAvailableRooms(LocalDate date);
}

Iterable怎么可能是一个返回类型,它是如何使用的?它是要返回一个Iterable对象还是像List这样的任何子类?

这是一个接口。它可以返回实现该接口的任何类,并且可以使用接口提供的方法使用响应(必须强制转换它才能获得其他类提供的方法(。查阅多态性了解更多信息。

public class BookingManagerImpl implements BookingManager {
// other methods
@Override
public Iterable<Integer> getAvailableRooms(LocalDate date) {
List<Integer> rooms = new ArrayList<>();
// add rooms as needed
return rooms;
}
}

最新更新