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

t1qtbnec  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(494)

这个问题在这里已经有答案了

“编程到接口”是什么意思(32个答案)
上个月关门了。
我无法理解getavailablerooms方法。我有一些方法需要填写,但我不太了解iterablgetavailableroms方法。

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)?

iecba09b

iecba09b1#

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

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;
  }
}

相关问题