【发布时间】:2013-09-30 06:04:43
【问题描述】:
假设你有一个类似的类:
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
}
}
声明是否适合指定具体类,例如ArrayList 而不是 List 接口?如果有,什么时候?
Edit> 这个问题与何时使用 LinkedList 以及何时使用 ArrayList 无关。这是一个单独的问题,在其他地方得到了回答。问题是什么时候声明应该是接口(列表)以清晰起见,什么时候应该指定一个实现,例如ArrayList 因为考虑到方法将要做什么或如何利用实例变量,这很重要。
【问题讨论】:
-
当您想使用仅在该实现中可用的方法时(类似于docs.oracle.com/javase/7/docs/api/java/util/…)。
-
查看右侧所有相关答案。
-
@Sotirios Delimanolis - 所有这些相关的答案都在问一个完全不同的问题?
-
@Nambari 考虑到当前的答案,您可能想再写一个...
-
@Nambari 我知道那种感觉...
标签: java