DefaultListModel的removeAllElements()和clear()之间有什么区别



java swing中DefaultListModelremoveAllElements()clear()方法有什么区别?

DefaultListModel的java文档说:-

公共空白清除()

删除所有元素。该列表将此调用返回后为空(除非抛出异常)。

public void removeAllElements()

从此列表中删除所有组件并将其大小设置为零。

所以两者基本上都从列表中删除了所有元素,所以有什么区别呢?如何决定何时使用哪个?

它们都是相同的

DefaultListModel在引擎盖下使用Vector
clear()方法后来在Vector被重写以适合Collection API时添加。

在版本1.3中,Collections API进入,因此Vector被重新编写以适应List接口。

为了使其向后兼容,他们只需将调用转发到可用的旧的现有方法&可能的

编辑

来自Java来源:

/**
 * Removes all components from this list and sets its size to zero.
 * <blockquote>
 * <b>Note:</b> Although this method is not deprecated, the preferred
 *    method to use is <code>clear</code>, which implements the 
 *    <code>List</code> interface defined in the 1.2 Collections framework.
 * </blockquote>
 *
 * @see #clear()
 * @see Vector#removeAllElements()
 */
public void removeAllElements() {
        int index1 = delegate.size()-1;
        delegate.removeAllElements();
        if (index1 >= 0) {
            fireIntervalRemoved(this, 0, index1);
        }
}

相关内容

  • 没有找到相关文章

最新更新