DefaultListModel 的removeAllElements() 和clear() 有什么区别?
java swing中DefaultListModel
的removeAllElements()
和clear()
方法有什么区别?
DefaultListModel 的 Java 文档 说:-
公共无效清除()
删除所有 此列表中的元素。该名单将 该调用返回后为空 (除非它抛出异常)。
和
公共无效removeAllElements()
从此列表中删除所有组件 并将其大小设置为零。
那么两者基本上都是从列表中删除所有元素,那么有什么区别呢?如何决定何时使用哪个?
What is the difference between removeAllElements()
and clear()
method of DefaultListModel
in java swing?
The java docs for DefaultListModel says :-
public void clear()
Removes all of the
elements from this list. The list will
be empty after this call returns
(unless it throws an exception).
and
public void removeAllElements()
Removes all components from this list
and sets its size to zero.
So both basically removes all elements from list so what is the difference? How to decide when to use which?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
它们是相同的。
DefaultListModel
在底层使用Vector
。后来重写 Vector 以适应 Collection API 时添加了clear() 方法。
在 1.3 版本中,
Collections API
开始出现,因此Vector
被重写以适应List
接口。为了使其向后兼容,他们只是将调用转发到可用的旧现有方法。可能的。
代码编辑
从 Java 源
They are both same.
DefaultListModel
uses aVector
under the hood.The clear() method was added later when Vector was re-written to fit into the Collection API's.
With version 1.3 the
Collections API
made its' entrance so theVector
was re-written to fit into theList
interface.In order for it to be backwards compatible, they simply forwarded the calls to the old existing methods where available & possible.
EDIT
From Java Source: