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)

相关推荐
RFG20126 小时前
20、详解Dubbo框架:消费方如何动态获取服务提供方地址?【微服务架构入门】
java·人工智能·后端·微服务·云原生·架构·dubbo
zjttsh7 小时前
Linux下安装Redis
java
TimberWill8 小时前
SpringBoot整合Srping Security实现权限控制
java·spring boot·后端
Renhao-Wan8 小时前
Java 算法实践(四):链表核心题型
java·数据结构·算法·链表
_codemonster10 小时前
JavaWeb开发系列(六)JSP基础
java·开发语言
万邦科技Lafite10 小时前
淘宝店铺所有商品API接口实战指南
java·数据库·mysql
jjjxxxhhh12310 小时前
【加密】-AES与对称加密
java·服务器·网络
临水逸10 小时前
飞牛fnos 2025 漏洞Java跨域URL浏览器
java·开发语言·安全·web安全
yaoxin52112310 小时前
324. Java Stream API - 实现 Collector 接口:自定义你的流式收集器
java·windows·python
H Corey10 小时前
数据结构与算法:高效编程的核心
java·开发语言·数据结构·算法