假设你有一个类似的类:
public class foo {
private List<String> fooThings;
public void doSomething(List<String> things) {
// Do a bunch of things here
// Possibly setting fooThings at some point as well
}
}
Run Code Online (Sandbox Code Playgroud)
声明指定具体类(例如 ArrayList 而不是 List 接口)是否合适?如果有,什么时候?
编辑> 这个问题与何时使用 LinkedList 以及何时使用 ArrayList 无关。这是一个单独的问题,在别处回答。问题是为了清楚起见,何时声明应该是接口(List),何时应该指定一个实现,例如 ArrayList,因为考虑到方法将要做什么或如何利用实例变量,这很重要。
通常您应该只使用接口List来声明您的结构。但是,在极少数情况下,您需要使用仅适用于特定实现的特定方法,List例如LinkedList,或者ArrayList您应该显式声明您的列表类型。然而,这限制了灵活性,应该谨慎行事。
| 归档时间: |
|
| 查看次数: |
1396 次 |
| 最近记录: |