ArrayList<?>扩展了A与ArrayList<A>有什么区别?
ArrayList<?>是一个通配符泛型,表示可以接受任何类型的ArrayList。它类似于一个未知类型的ArrayList,可以用来接收任何类型的ArrayList对象。在使用ArrayList<?>时,我们无法确定具体的类型,只能进行一些限制性的操作,例如添加null元素或者删除元素。由于无法确定具体类型,所以无法添加其他类型的元素。
而ArrayList<A>是一个具体类型的ArrayList,表示只能接受类型为A的元素。在使用ArrayList<A>时,我们可以确切地知道ArrayList中的元素类型是A,可以进行添加、删除、修改等操作,并且可以确保类型的一致性。
区别:
- ArrayList<?>可以接受任何类型的ArrayList,而ArrayList<A>只能接受类型为A的ArrayList。
- 在使用ArrayList<?>时,无法确定具体的类型,只能进行一些限制性的操作,而在使用ArrayList<A>时,可以确切地知道元素的类型,可以进行更多的操作。
- ArrayList<?>可以用于接收不同类型的ArrayList对象,而ArrayList<A>只能用于接收类型为A的ArrayList对象。
推荐的腾讯云相关产品:
- 云数据库 TencentDB:https://cloud.tencent.com/product/cdb
- 云服务器 CVM:https://cloud.tencent.com/product/cvm
- 云原生容器服务 TKE:https://cloud.tencent.com/product/tke
- 人工智能平台 AI Lab:https://cloud.tencent.com/product/ailab
- 物联网平台 IoT Hub:https://cloud.tencent.com/product/iothub
- 移动开发平台 MSDK:https://cloud.tencent.com/product/msdk
- 分布式存储 CFS:https://cloud.tencent.com/product/cfs
- 区块链服务 BaaS:https://cloud.tencent.com/product/baas
- 腾讯云元宇宙:https://cloud.tencent.com/solution/virtual-universe