首页 > 其他分享 >List<?extends T>和List<? super T>之间有什么区别?

List<?extends T>和List<? super T>之间有什么区别?

时间:2024-01-29 20:55:21浏览次数:20  
标签:3383899 区别 List Float list 存放 之间 类型

表示类型的上界,也就是说参数化的类型可能是T或者T的子类。例如:下面的写法都是合法的赋值语句: ![](/i/l/?n=24&i=blog/3383899/202401/3383899-20240129203144762-685357479.png) (1)在上面的赋值显示中,对读数据进行分析 1)不管给List如何赋值,可以保证List里存放的一定是Number类型或其子类型,因此,可以从list列表里读取Number类型的值。 2)不能从list中读取Integer,因为list里面可能存放的是Float值,同理也不可以从里面读取Float。 (2)对数据进行分析 不能向list中写Number,因为List中有可能存放的是Float; 不能向list中写Integer,因为List中有可能存放的是Float; 不能向list中写Float,因为list中有可能存放的事Integer; 从上面的分析可以发现,只能从List读取T,因为无法确定他实际指向列表的类型,从而无法确定列表里存放的实际的类型。所以,无法向列表里添加元素。 表示下界,也就是说参数化的类型是此类型的超类型(父类型)。 ![](/i/l/?n=24&i=blog/3383899/202401/3383899-20240129204558480-865051218.png) 被设计为用来写数据的泛型(只能写入T或T的子类型),不能用来读,分析如下: (1)读数据: 无法保证list里面一定存在的是Float类型或者Number类型,因为有可能存放的是Object类型,唯一能确定的是list里面存放的是Object类型及其子类,但是无法确定具体的子类的类型。正是由于无法确定list里面存放的数据类型,因此无法从list里面读取数据。 (2)写数据: 1)可以向list中写入float类型的数据,同理也可以向list里面添加Float子类类型的数据; 2)不可以向list里面添加Number或Object类型的数据,因为list中可能存放的是Float类型的数据。 ![](/i/l/?n=24&i=blog/3383899/202401/3383899-20240129205301163-1194410194.png)

标签:3383899,区别,List,Float,list,存放,之间,类型
From: https://www.cnblogs.com/yige888/p/17995311

相关文章

  • WebSocket和RESTful API区别
    1.WebSocket和RESTfulAPI区别WebSocket和RESTfulAPI是用于在客户端和服务器之间进行通信的不同协议。RESTfulAPI(RepresentationalStateTransfer)是一种使用HTTP协议进行通信的架构风格。它基于客户端-服务器模型,通过使用不同的HTTP动词(GET、POST、PUT、DELETE等)对资源进行......
  • 问卷与量表的区别,以及量表的信效度分析应该如何测量
    最近在各个平台总能收到这样一个问题 “问卷如何进行信效度分析?”每次小编提到信效度分析时都会特意强调,只有量表才需要进行信度与效度分析,普通问卷(单选、多选、填空等)并不需要。那么今天就再深入探讨一下问卷与量表的区别,以及量表的信效度分析应该如何测量。一、问卷与量表的区......
  • http和https的区别是什么?https有什么优缺点?
    HTTP(HypertextTransferProtocol,超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当,被广泛地使用在WEB中。HTTPS(全称:Hyperte......
  • LIst<实体>复制
    要将一个List<实体>复制到另一个List<实体2>上,你可以使用以下方法:遍历原始列表,将每个元素转换为实体2,然后添加到新列表中。使用Java8的StreamAPI进行转换和收集。这里是一个示例:importjava.util.ArrayList;importjava.util.List;importjava.util.stream.Collectors;cl......
  • 止盈和止损有什么区别?澳福实例讲解止盈如何工作
    由于经验不足的原因,刚进入市场的新手经常搞不清楚止盈和止损之间的区别。其实事实区分他们很简单,它们的应用完全不同,服务于不同的目的。那么,现在澳福 外汇和各位投资者来仔细看看止盈。该订单在价格达到指定水平时锁定利润。它是如何工作的?交易的黄金法则是永远为每笔交易设定目......
  • Python中/与//的区别是什么?其如何使用?
    在学习Python或者使用Python进行工作的时候,大家应该都看到过“/”和“//”,它们是Python算术运算符中比较常用的两个运算符,那么Python语言中/与//的区别是什么?如果你还不清楚,这篇文章千万不要错过。Python语言中/与//的区别是什么?在Python中/表示浮点整除法,返回浮点结......
  • List 集合类家族介绍
    ArrayListtransientObject[]elementData;LinkedListprivatestaticclassNode<E>{Eitem;Node<E>next;Node<E>prev;Node(Node<E>prev,Eelement,Node<E>next){this.item=element;thi......
  • 在K8S中,deploy和Statefulset有何区别?
    在Kubernetes(K8s)中,Deployment和StatefulSet是两种不同类型的控制器对象,它们设计用于管理Pod的生命周期,但在管理和部署的应用程序类型、持久性保证以及Pod标识等方面存在显著区别:Deployment:无状态应用:Deployment主要用于部署无状态服务,即服务实例之间可以相互替换且不需要保留......
  • Redis之list操作
    1lpush(name,values)#resp:上面是左,下面是右conn.lpush('girls','刘亦菲')#从左侧插入值conn.lpush('girls','迪丽热巴')#从左侧插入值  2rpush(name,values)表示从右向左操作conn.rpush('girls','xxx')  3lpushx(name,......
  • HTTP和RPC的区别
    HTTP接口和RPC接口都是生产上常用的接口,顾名思义,HTTP接口使用基于HTTP协议的URL传参调用,而RPC接口则基于远程过程调用。RPC(即RemoteProcedureCall,远程过程调用)和HTTP(HyperTextTransferProtocol,超文本传输协议),前者是一种方法,后者则是一种协议。两者都常用于实现服务,在这个层面......