【发布时间】:2014-06-26 17:47:04
【问题描述】:
下面是 ArrayList 的代码 sn-p,它要么接受用户提供的“initialCapacity”,要么接受默认的10。我的问题 - 为什么 10 不是静态常数?我猜当一个变量在代码中重复多次时会使用常量。我对吗 ?
public ArrayList(int initialCapacity) {
super();
if (initialCapacity < 0)
throw new IllegalArgumentException("Illegal Capacity: "+
initialCapacity);
this.elementData = new Object[initialCapacity];
}
/**
* Constructs an empty list with an initial capacity of ten.
*/
public ArrayList() {
this(10);
}
【问题讨论】:
-
在这种情况下,很大程度上是风格问题。它可以作为一个静态常量来完成,但作者可能认为这不会增加可读性。