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

iis7.0 asp网站配置珠海中小企业网站建设

iis7.0 asp网站配置,珠海中小企业网站建设,wordpress 主,全球软件公司排名优质文章#xff0c;及时送达作者 | 的一幕来源 | www.jianshu.com/p/dd34211f2565这一节主要讲的内容是java中泛型的应用#xff0c;通过该篇让大家更好地理解泛型#xff0c;以及面试中经常说的泛型类型擦除是什么概念#xff0c;今天就带着这几个问题一起看下:举一个简单…优质文章及时送达作者 | 的一幕来源 | www.jianshu.com/p/dd34211f2565这一节主要讲的内容是java中泛型的应用通过该篇让大家更好地理解泛型以及面试中经常说的泛型类型擦除是什么概念今天就带着这几个问题一起看下:举一个简单的例子:这里可以看出来在代码编写阶段就已经报错了不能往string类型的集合中添加int类型的数据。那可不可以往List集合中添加多个类型的数据呢答案是可以的其实我们可以把list集合当成普通的类也是没问题的那么就有下面的代码:从这里可以看出来不定义泛型也是可以往集合中添加数据的所以说 泛型只是一种类型的规范在代码编写阶段起一种限制。下面我们通过例子来介绍泛型背后数据是什么类型public class BaseBean {T value;public T getValue {return value;}public void setValue(T value) {this.value value;}}上面定义了一个泛型的类然后我们通过反射获取属性和getValue方法返回的数据类型:从日志上看到通过反射获取到的属性是Object类型的在方法中返回的是string类型因此咋们可以思考在getValue方法里面实际是做了个强转的动作将object类型的value强转成string类型。是的没错因为泛型只是为了约束我们规范代码而对于编译完之后的class交给虚拟机后对于虚拟机它是没有泛型的说法的所有的泛型在它看来都是object类型因此泛型擦除是对于虚拟机而言的。下面我们再来看一种泛型结构:这里我将泛型加了个关键字extends对于泛型写得多的伙伴们来说extends是约束了泛型是向下继承的最后我们通过反射获取value的类型是String类型的因此这里也不难看出加extends关键字其实最终目的是约束泛型是属于哪一类的。所以我们在编写代码的时候如果没有向下兼容类型会警告错误的大家有没有想过为啥要用泛型呢既然说了泛型其实对于jvm来说都是Object类型的那咱们直接将类型定义成Object不就是的了这种做法是可以但是在拿到Object类型值之后自己还得强转因此泛型减少了代码的强转工作而将这些工作交给了虚拟机。比如下面我们没有定义泛型的例子:势必在getValue的时候代码有个强转的过程因此在能用泛型的时候尽量用泛型来写而且我认为一个好的架构师业务的抽取是离不开泛型的定义。常见的泛型主要有作用在普通类上面作用在抽象类、接口、静态或非静态方法上。类上面的泛型比如实际项目中我们经常会遇到服务端返回的接口中都有errMsg、status等公共返回信息而变动的数据结构是data信息因此我们可以抽取公共的BaseBeanpublic class BaseBean {public String errMsg;public T data;public int status;}抽象类或接口上的泛型//抽象类泛型public abstract class BaseAdapter {List DATAS;}//接口泛型public interface Factory {T create;}//方法泛型public static T getData {return ;}多元泛型public interface Base {void setKey(K k);V getValue;}泛型二级抽象类或接口public interface BaseCommon extends Base {}//或抽象类public abstract class BaseCommon implements Base {}抽象里面包含抽象public interface Base {// void setKey(K k);//// V getValue;void addNode(Map map);Map getNode(int index);}public abstract class BaseCommon implements Base {//多重泛型LinkedList DATAS new LinkedList;Overridepublic void addNode(Map map) {DATAS.addLast(map);}Overridepublic Map getNode(int index) {return DATAS.get(index);}}通配符通配符和区别是在你不知道泛型类型的时候可以用通配符来定义下面通过一个例子来看看的用处://定义了一个普通类public class BaseBean {T value;public T getValue {return value;}public void setValue(T value) {this.value value;}}//用来定义泛型的public class Common1 extends Common {}在定义的时候将Common的泛型指向Common1的泛型可以看到直接提示有问题这里可以想虽然Common1是继承自Common的但是并不代表BaseBean之间是等量的在开篇也讲过如果泛型传入的是什么类型那么在BaseBean中的getValue返回的类型就是什么因此可以想两个不同的泛型类肯定是不等价的但是如果我这里写呢:public static void main(String[] args) {BaseBean commonBaseBean new BaseBean;//通配符定义就没有问题BaseBean common1BaseBean commonBaseBean;try {//通过反射猜测setValue的参数是Object类型的Method setValue common1BaseBean.getClass.getDeclaredMethod(setValue
http://www.zqtcl.cn/news/739427/

相关文章:

  • 自己制作一个网站广州自助网站制作
  • 个人网站吗wordpress超精简主题
  • 手机版免费申请微网站wordpress 跳转链接
  • 网站建设与管理好吗广州白云最新消息
  • 织梦动漫网站模版wordpress 页面文章列表
  • 东莞做网站沃德长沙市网站开发
  • 哪些网站做的最好厦门网站建设网站
  • 网站安全事件应急处置机制建设类似百度的网站
  • 内蒙古知名网站建设网站测速工具
  • 怎样建立网站赚钱怎么登录住建局官网
  • 建站自学网页转向功能网站
  • 网站都有什么费用做酒店网站有哪些目录
  • 本地郑州网站建设东莞网站优化中易
  • 动态域名可以建网站德州公司做网站
  • 深圳建设银行官方网站wordpress 添加qq
  • 甘肃第九建设集团公司网站网站对企业的好处
  • 论坛网站建设规划书公司网站建设与设计制作
  • 做棋牌游戏网站犯法吗如何进行搜索引擎的优化
  • 常见的网站首页布局有哪几种陈光锋网站运营推广新动向
  • 手机网站活动策划方案开一个设计公司
  • 宝塔建设网站教程visual studio 2010 网站开发教程
  • 做网站购买服务器做谷歌网站使用什么统计代码吗
  • 网站系统与网站源码的关系emlog轻松转wordpress
  • 网站的简介怎么在后台炒做吉林省住房城乡建设厅网站首页
  • 泉州易尔通网站建设国际酒店网站建设不好
  • 网页下载网站福田企业网站推广公司
  • 北京网站建设开发公司哪家好网站添加在线留言
  • 新建的网站怎么做seo优化平面广告创意设计
  • yy陪玩网站怎么做软件项目管理计划
  • 西安建网站价格低百度推广区域代理