当前位置: 首页 > news >正文

王烨铭seo 优化教程

王烨铭,seo 优化教程,视频直播网站建设费用,网站建设中企动力作者&#xff1a;面试君引言在讲阿里fastjson 之前&#xff0c;先讲下泛型的一些基础知识和在反射中如何获取泛型&#xff0c;觉得自己已经掌握的可以直接通过目录跳到最后查看泛型类泛型类的定义只要在申明类的时候&#xff0c;在类名后面直接加上< E>,中的E可以是任意的…

作者:面试君

引言

在讲阿里fastjson 之前,先讲下泛型的一些基础知识和在反射中如何获取泛型,觉得自己已经掌握的可以直接通过目录跳到最后查看

泛型类

泛型类的定义只要在申明类的时候,在类名后面直接加上< E>,中的E可以是任意的字母,也可以多个,多个用逗号隔开就可以。示例代码如下

public class SelfList {}

泛型类中的实际类型的推断

那么什么时候确定这个E 的具体类型呢?其实是在new 一个对象的时候指定的,请看下面代码

d6b90de9b8c82efe8adb63c650b79104.png

泛型接口

泛型接口和类的使用方式一样

31e198721918e889b8143d9a34955126.png

泛型方法

这个我觉得是相对来说比较难得,大家集中注意力听我说,说不定你以前一直以为的泛型方法是假的。好,先给个假的泛型方法给大家验一下,还是上面代码的例子,为了方便阅读我再贴一遍代码

ff55e1ef6f435ff744f77cdb6b5813e8.png

泛型方法的定义

好了,重点来了,给个真正的泛型方法定义出来

f8fa2041295ad70f61553b6eb9b99149.png
返回值和public 之间的< T> 是泛型方法的必要条件,并且这个和类的定义的泛型E 是可以同名(一般设置不同名),并且他们之间是独立的。< T> 可以多个,多个用逗号隔开,列如 返回值不一定是T,可以是任意的类型,如Long方法中的参数也不一定是T,可以是任意的类型,如Long。只是泛型方法一般返回值类型和参数有其中一个是定义的泛型(全是具体类型就没意义了)
0380fdda1c6a22860cbe1d0b1fdecd2c.png

输出结果

I am Integer

当参数列表中有多个参数使用了相同的泛型变量,返回值类型也使用了该变量,那么返回值类型由他们的公共父类来决定最终的泛型类型
60eeb7781db8c87c496efc8eea85d35e.png

注意上面的输出还会是

I am Integer

因为根据第一条规则,传进去的是什么类型就是什么类型,但是返回值类型候需要根据第二条规则来确定

反射中的泛型使用

上面说的都是在编译之前就可以确定的泛型。大家知道,泛型运行的时候其实是会被擦除的。不过没关系,还是提供给我们通过反射的方式来获取。首先我来认识下java中的泛型类型继承结构

8df928e375ceffa425077e41813fade8.png

这里主要讲平时运用最多的三个类,其他还有一些GenericArrayType 之类的就不讲了,大家按着我这个分析的思路去看下就可以

ParameterizedType 源码

afde42d8853c6b18ceaceb0218434e9d.png

ParameterizedType 测试验证

定义一个有内部类的类

4c19376981a4d92f29a8d6e0ea36e4ca.png

写一个测试类

dc98cbc51ec726b24bbec85b93122bc0.png

输出结果

1d73976008fb10d9b78487a9c1f7eaed.png

TypeVariable 源码

fca30d01be50011dbbe1ad597dfe1c40.png

写一个测试类

f3591786a9515b2d5edd60137340d2cf.png

输出的结果

8cbdfc8f81c82503e4cbc2bfc70fb018.png

阿里fastjson 泛型的巧妙运用

看到下面这段代码,简单的意思就是从redis 获取字符串,然后转换为指定的泛型的类。大家可以留意到这里创建了个TypeReference 匿名类 注意后面是有带{}的,所以是实例化一个匿名内部类(这是重点中的重点,一切的魔术从这里开始),而不是TypeReference 这个类的实例

ebc2027c3b24d86714e00a8101b25422.png

窥探源码

点进去看看这个源码

d5bbc7e70aedba0a6c37c01f840907a4.png

最后,我自己是一名从事了多年开发的JAVA老程序员,辞职目前在做自己的java私人定制课程,今年年初我花了一个月整理了一份最适合2019年学习的java学习干货,可以送给每一位喜欢java的小伙伴,想要获取的可以关注我的头条号并在后台私信我:交流,即可免费获取。

d211eeb6e56a60152eebfdbfa208ba35.png
http://www.lbrq.cn/news/2398231.html

相关文章:

  • 帮客户做网站 没签合同咋办昆明网络营销
  • 门户网站开发需要seo专员是干嘛的
  • 网站建设最基础是什么推一手新闻发稿平台
  • 我司如何自己建设动态网站网站性能优化
  • 营销型网站建设需要懂什么软件域名查询站长之家
  • 余姚网站建设哪家好关键词工具
  • 网站建设的本科毕业论文建一个企业网站多少钱
  • 如何进入网站后台管理网站合肥建站公司seo
  • linux网站做301重定向百度一下你就知道官页
  • 开发一个网站要多少钱开发网站建设
  • 临沂网站设计网站设计公司排行
  • 重新做网站云巅seo
  • 长沙建站标协助找有为太极平面设计网站
  • 怎么做网站的导航条福州网站建设团队
  • 网站组件水平优化
  • 怎么做网页版网站链接买卖
  • 妈妈考试前让我做网站整合营销案例
  • 单页面网站 wordpress营业推广案例
  • 杭州北京网站建设公司哪家好兰州疫情最新情况
  • 用hadoop做网站日志分析鄞州seo服务
  • 网站如何跟域名绑定seo排名是什么
  • 关于做网站的文献综述宁波seo高级方法
  • 网站备案怎么做短视频seo询盘获客系统
  • 网站建设多久可以建成太原做网站哪家好
  • 廊坊网站建设价格交换链接的方法
  • 做seo的公司系统优化软件推荐
  • 做一手房用什么网站好网络竞价推广开户
  • 门户网站制作需要多少钱怎么申请自己的域名
  • 手提电脑做网站服务器sem优化策略
  • 机械加工网论坛厦门百度推广排名优化
  • 马走日题解
  • lvs原理及实战部署
  • [MarkdownGithub] 使用块引用高亮显示“注意“和“警告“和其他注意方式的选项
  • 基于单片机的便携太阳能光伏系统研究
  • 大型市政污水处理厂“智变”记:天拓四方IOT平台让磁悬浮鼓风机“活”起来
  • Kubernetes (k8s)、Rancher 和 Podman 的异同点分析