java - 可迭代作为返回类型 - 可迭代本身还是子类?
问题描述
我无法理解 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;
}
}
推荐阅读
- python-3.x - 我正在尝试使用无限循环在 python3 中计算 pi:
- firebase - 更新 FirebaseUser DisplayName(电子邮件身份验证)不会更新实例 CurrentUser
- reactjs - 嵌套时反应本机按钮不起作用
- css - 当以编程方式添加列时,如何在 Bootstrap 4 中创建一行 5 列
- c# - 使用没有路径的外部 .config 文件
- c++ - C++11 兼容的线性分配器实现
- swift - 语音转文本 SWIFT
- autodesk-forge - 选择和主题颜色组合
- mysql - 将 Node.js 与 MySQL 连接的问题
- c++ - 为什么我不能为指向 null 的指针设置数据值