在Java 8中,提供了不同的谓词接口(例如DoublePredicate,LongPredicate,IntPredicate等).现在,如果您要实现接口并在其中编写自己的代码,那么拥有不同谓词接口的优势是什么?为什么不只是一个谓词接口?
以下代码确保内部容量为11,
ArrayList list = new ArrayList(11);
Run Code Online (Sandbox Code Playgroud)
那么为什么/何时我应该在外部使用公共方法ensureCapacity()?
list.ensureCapacity(11);
Run Code Online (Sandbox Code Playgroud)
如果没有用,为什么要公开?
public void ensureCapacity(int minCapacity) {
int minExpand = (elementData != DEFAULTCAPACITY_EMPTY_ELEMENTDATA)
// any size if not default element table
? 0
// larger than default for default empty table. It's already
// supposed to be at default size.
: DEFAULT_CAPACITY;
if (minCapacity > minExpand) {
ensureExplicitCapacity(minCapacity);
}
}
Run Code Online (Sandbox Code Playgroud)