假设您有一个类似的课程:
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 接口?如果有,什么时候?
编辑> 这个问题与何时使用 LinkedList 以及何时使用 ArrayList 无关。这是一个单独的问题,在其他地方得到了回答。问题是关于什么时候声明应该是接口(List)以便清楚起见,什么时候应该指定一个实现,例如ArrayList,因为考虑到方法将要做什么或如何利用实例变量,这很重要。