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

新手练习做网站哪个网站比较合适百度新闻官网

新手练习做网站哪个网站比较合适,百度新闻官网,版式设计图片素材,晋江市住房和城乡建设网站✅什么是泛型#xff0c;有什么好处 ✅典型回答✅泛型是如何实现的✅什么是类型擦除#xff1f;#x1f4dd;C语言对泛型的支持#x1f4dd;泛型擦除的缺点有哪些#xff1f; ✅对泛型通配符的理解#x1f4dd;泛型中上下界限定符 extends 和 super 有什么区别#xff1… ✅什么是泛型有什么好处 ✅典型回答✅泛型是如何实现的✅什么是类型擦除C语言对泛型的支持泛型擦除的缺点有哪些 ✅对泛型通配符的理解泛型中上下界限定符 extends 和 super 有什么区别✅List?ListObjectList之间的区别✅在泛型为Integer的ArrayList中存放一个String类型的对象✅对数组协变和泛型非协变的理解 ✅典型回答 Java泛型(generics)是JDK 5中引入的一个新特性允许在定义类和接口的时候使用类型参数(typeparameter)。声明的类型参数在使用时用具体的类型来替换。泛型最主要的应用是在JDK 5中的新集合类框架中。 泛型的好处有两个 1、方便: 可以提高代码的复用性。以List接口为例我们可以将String、Integer等类型放入List中如不用泛型存放String类型要写一个List接口存放Integer要写另外一个List接口泛型可以很好的解决这个问题。 2、安全: 在泛型出之前通过Object实现的类型转换需要在运行时检查如果类型转换出错程序直接GG可能会带来毁灭性打击。而泛型的作用就是在编译时做类型检查这无疑增加程序的安全性。 ✅泛型是如何实现的 Java中的泛型通过类型擦除的方式来实现通俗点理解就是通过语法糖的形式在java-.class转换的阶段将List擦除调转为List的手段。换句话说Java的泛型只在编译期Jm是不会感知到泛型的。 ✅什么是类型擦除 类型擦除是Java在处理泛型的一种方式如Java的编译器在编译以下代码时 public class FooT {T bar;void doSth(T param) {} }; FooString f1; FooInteger f2;在编译后的字节码文件中会把泛型的信息擦除掉 public class Foo {Object bar;void dosth(Object param) {} };也就是说在代码中的Foo 和 Foo使用的类经过编译后都是同一个类。 所以说泛型技术实际上是Java语言的一颗语法糖因为泛型经过编译器处理之后就被擦除了。 这种擦除的过程被称之为一类型擦除。所以类型擦除指的是通过类型参数合并将泛型类型实例关联到同一份字节码上。编译器只为泛型类型生成一份字节码并将其实例关联到这份字节码上。类型擦除的关键在于从泛型类型中清除类型参数的相关信息并且在必要的时候添加类型检查和类型转换的方法。 类型擦除可以简单的理解为将泛型iava代码转换为普通iava代码只不过编译器更直接点将泛型iava代码直接转换成普通iava字节码。 C语言对泛型的支持 泛型是一种编程范式在不同的语言和编译器中的实现和支持方式都不一样。 通常情况下一个编译器处理泛型有多种方式在C中当编译器对以下代码编译时。 template typename T struct Foo {T bar;void doSth(T param) {} };Fooint f1; Foofloat f2;当编译器对其进行编译时编译器发现要用到Foo和Foo这时候就会为每一人泛型类新生成一份执行代码。相当于新创建了如下两个类 struct FooInt {int bar;void doSth(int param) {} };struct FooFloat {float bar;void doSth(float param) {} };这种做法用起来的时候很方便只需要根据具体类型找到具体的的类和方法就行了。但是问题是当我们多次使用不同类型的模板时就会创建出来的很多新的类就会导致代码膨胀。 泛型擦除的缺点有哪些 1.泛型不可以重载 2.泛型异常类不可以多次catch 3.泛型类中的静态变量也只有一份不会有多份。 ✅对泛型通配符的理解 泛型中上下界限定符 extends 和 super 有什么区别 ? extends T表示类型的上界表示参数化类型的可能是T 或是 T的子类。 // 定义一个泛型方法接受任何继承自Number的类型 public T extends Number void processlumber(T number) {// 在这个方法中可以安全地调用Number的方法double value number .doubleValue( );// 其他操作... }? super T 表示类型下界 (Java Core中叫超类型限定)表示参数化类型是此类型的超类型 (父类型)直至Obiect //定义一个泛型方法接受任何类型的List并向其中添加元素 public T void addElements(List? super T list, T element) {list.add(element);// 其他操作... }在使用限定通配符的时候需要遵守PECS原则即producer Extends,Consumer Super; 上界生产下界消费。 如果要从集合中读取类型T的数据并目不能写入可以使用 ? extends 通配符(Producer Extends)如上面的processNumber方法。 使用extends 的时候是可读取不可写入那为什么叫上界生产呢 答因为这个消费者/生产者描述的集合当我们从集合读取的时候集合是生产者。 如果既要存又要取那么就不需要使用任何的通配符。 ✅List?ListList之间的区别 1、List?是一个末知类型的List而List object 其实是任意类型的List。可以把List StringList Integer赋值给List?却不能把List String赋值给 List Object。 2、可以把任何带参数的类型传递给原始类型List但却不能把List String赋值给List Obiect因为会产生编译错误(不支持协变) ✅在泛型为Integer的ArrayList中存放一个String类型的对象 通过反射可以实现 public void test() throws Exception {ArrayListInteger list new ArrayListInteger();Method method list.getClass().getMethod(add Object.class);method.invoke(listJava反射机制实例”);System.out.println(list.get(0)); }✅对数组协变和泛型非协变的理解 所胃协变可以简单理解为因为Object是String的父类所以Object1同样是Stringl的父类这种情况Java是允许的;但是对于泛型来说List Obiect和List String半毛钱关系都没有 为什么要这样设计呢如果泛型允许协变(实际上以下代码第一步就会编译失败)考虑如下例子: ListObject a new ListString(); a.add(1); // 允许协变可以装进来 String s a.get(0); // 编译报错但是为什么泛型不允许协变而数组允许协变呢? 原因有二 1 . 因为数组设计之初没有泛型为了兼容考虑如 Arrays.equals(object[]object[]) 方法是时代无奈的产物 2 . 数组也属于对象它记录了引用实际的类型再放入数组的时候如果类型不一样就会报错而不是等到拿出来的时候才发现问题相对来说安全一些。
http://wiki.neutronadmin.com/news/155421/

相关文章:

  • 网站无法链接centos wordpress 优化
  • c 做交易网站石家庄哪里有网站建设
  • 网站代备案网页美工设计课程
  • 给个网站能用的2022国内域名注册商
  • 营销型网站具备的二大能力wordpress 自动保存远程图片
  • 网站建设创意报告书学历提升有几种方式
  • 舟山建设网站公司seo搜狗排名点击
  • 那个网站教你做毕设的wordpress 获取当前路径
  • 迁安建设局官方网站北京保障性住房建设投资中心网站
  • 传统网站设计织梦网站首页是哪个文件
  • 青岛开发网站烟台市建设工程招标投标协会网站
  • 动态的网站怎么做水头做网站
  • 淄川网站建设中关村在线主页
  • 深圳建网站技术常用于做网站的软件
  • 合肥做网站的公有没有悬赏做ppt的网站
  • 电子商务网站开发主要实现功能对外贸营销型网站建设的几点建议
  • 建设企业网站下载外贸网站怎么换域名
  • 本地网站做通用会员卡设计网页通常使用什么语言
  • 丽水网站建设公司排名企业网站推广方案
  • 手机app开发软件有哪些三秦seo
  • 平台网站开发公司php网站开发实例教程的作者
  • 做阿里巴巴1688网站程序做网站税费
  • html购物网站代码vs2015做网站的后端
  • 阿里云服务器wordpress建站教程上海装修公司排名前十名
  • 自己做网站用花钱吗ui设计培训机构哪个比较好
  • 公司要做网站建设网站的成本有哪些
  • 图片网站虚拟主机免费下载网站模板
  • 手机移动端网站建设邯郸住宅与房地产信息网
  • 百度搜索风云排行榜优化法治化营商环境
  • 有口碑的武进网站建设丰城建设网站