gpt4 book ai didi

java - 声明 List 与 ArrayList 之间有什么区别?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:12:11 25 4
gpt4 key购买 nike

List<Integer> mylist = new ArrayList<Integer>();

ArrayList<Integer> mylist2 = new ArrayList<Integer>();

我想知道上述两者在 Java 集合 API 中的实际区别是什么。我是 Java 集合 API 的新手。我知道 List 是 ArrayList 类实现的接口(interface)。

最佳答案

List<Integer> version 是接口(interface)类型 - 它只允许您执行接口(interface)声明的方法,而 ArrayList<Interger>类型化变量允许您执行在 ArrayList<Interger> 中声明的任何操作和它的 super 。 (当然包括 List)。

然而,尽管选择第一个似乎“无用”- 它实际上可以让您更加灵活 - 如果您以后决定要 LinkedList<Interger>,它将帮助您更轻松地更改设计。 (例如)而不是 ArrayList<Interger>作为动态类型。


添加:
当然这并不意味着你需要自动选择List<Integer>。版本。如果您确实需要使用 ArrayList 的确切类型- 你应该选择它。一个好的经验法则是从界面版本开始,并将其更改为 ArrayList<Integer>只有当你发现自己在努力获得一些你可以用 ArrayList 很容易做到的东西时类型(或者如果你发现自己转换为 ArrayList ...)

关于java - 声明 List<Integer> 与 ArrayList<Integer> 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13709795/

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