我正在创建一个供人们使用的库,但为什么我的方法应该返回一个 List 而不是 ArrayList?
因为如果用户知道实际类型是 ArrayList,他将在循环中使用访问器 [] 而不是迭代器,但如果他不知道他将使用迭代器。
LinkedList 同样的问题,如果返回类型是 List,他将无法使用正确的访问器。
我说得对吗?
最佳答案
返回 List 将使您的库的用户可以使用任何实现 List 接口(interface)的东西,而使用 ArrayList 将强制他们使用 ArrayList。
如果将来您作为库创建者决定更改您的内部实现,那么最终用户将通过库的通用接口(interface)隐藏这些更改。
关于java - 返回 ArrayList 还是 List?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11683044/