gpt4 book ai didi

java - 我们可以使用 AbstractList 而不是 List 接口(interface)来保存 Arraylist 实例吗?

转载 作者:行者123 更新时间:2023-12-02 01:07:54 24 4
gpt4 key购买 nike

一般我们使用代码来进行交互:

List<String> list  = new ArrayList<String>();

我们可以写以下内容吗?

AbstractList<String> list  = new ArrayList<String>();

这种特定的初始化有什么缺点?任何见解将不胜感激。

最佳答案

将列表定义为 AbstractList 会将您的实现与 AbstractList 的子类联系起来,而使用 List 接口(interface)允许您将该接口(interface)的任意实现分配给 list 变量。

将列表定义为 AbstractList 还可以让您访问(无需转换)AbstractList 的方法,这些方法不属于 List 接口(interface),但使用它们会降低您的代码的灵 active 。

如果你没有充分的理由这样做,就不要这样做。

关于java - 我们可以使用 AbstractList 而不是 List 接口(interface)来保存 Arraylist 实例吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26359370/

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