List<String> 和 ArrayList<String>的区别

List<String> list = new ArrayList<>() 这种形式实际上是一种向上转型(upcasting)的体现,ArrayList 实现了 List 接口,可以看成是从 List 继承而来,一个子类的对象可以指向它父类。

为什么不是 ArrayList<String> list = new ArrayList<>()呢?

直接这样写没有问题,但是不够灵活,不推荐。因为 List 下除了 ArrayList 还有 LinkList 等他们都实现了List里面的方法。而声明成 List<String> list = new ArrayList<>()的形式使得 list 这个对象可以有多种的存在形式。使用LinkedList,ArrayList或者Vector存储数据代码如下:

复制代码
List<String> list = new LinkedList<String>();
List<String> list = new ArrayList<String>();
List<String> list = new Vector<String>();

这样就list对象就会更加灵活。

参考:List<String> 和 ArrayList<String>的区别 - 软测小生 - 博客园 (cnblogs.com)

相关推荐
KIKIiiiiiiii15 分钟前
微信个人号开发中如何高效实现API二次开发
java·前端·python·微信
胡八一21 分钟前
30 分钟上手 exp4j:在 Java 中安全、灵活地计算数学表达式
java·开发语言·安全
张较瘦_1 小时前
环境搭建 | [入门级]VSCode(Cursor|Trae|Qoder)搭建Java(Springboot3)企业开发环境全流程
java·ide·vscode
007php0071 小时前
百度面试题解析:synchronized、volatile、JMM内存模型、JVM运行时区域及堆和方法区(三)
java·开发语言·jvm·缓存·面试·golang·php
YSRM1 小时前
Leetcode+Java+图论II
java·leetcode·图论
十铭忘1 小时前
基于SAM2的眼动数据跟踪2
java·服务器·前端
okjohn2 小时前
浅谈需求分析与管理
java·架构·系统架构·软件工程·产品经理·需求分析·规格说明书
用户0332126663672 小时前
Java添加、设置和删除PDF图层:
java
荣光波比2 小时前
K8S(十)—— Kubernetes核心组件详解:Pod控制器与配置资源管理
java·容器·kubernetes
m0_651593912 小时前
企业级订单系统架构设计:领域驱动 vs 数据驱动实践指南
java·系统架构·领域驱动ddd