gpt4 book ai didi

java - 为什么有些库会定义自己的集合?

转载 作者:搜寻专家 更新时间:2023-10-31 08:14:11 26 4
gpt4 key购买 nike

例如,在 Jsoup 中,他们定义了一个类 Elements 来收集元素。

通常定义一个类 A 和包含很多 A(s) 的 As。但为什么?为什么我们不直接使用 ArrayList 或其他东西?

最佳答案

JSoup 中的Elements 类有许多特定的方法来实现它的功能,例如

toggleClass(String className) 
html()

这在 ArrayList 上不可用。我想 ArrayList 可以扩展,但是 Elements 的作者已经开始进行组合了。 Elements 有一个 ArrayList 实例,它保持私有(private)。 Elements 公开了 List 接口(interface)的方法、定制方法和其他方法。

但是 Elements 由 ArrayList 支持 - 这样作者也可以装饰他选择通过自己的类公开的 ArrayList 的方法。这是源代码的摘录:

  private List<Element> contents;

public Elements() {
contents = new ArrayList<Element>();
}

顺便说一句:您曾经看到 Java 5 之前的包装器为 Java Collections 提供类型安全,但是自从 Java 5 泛型已经停止了很多这样的事情。

关于java - 为什么有些库会定义自己的集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5952465/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com