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

万荣网站seo网站被主流搜索引擎收录的网页数量

万荣网站seo,网站被主流搜索引擎收录的网页数量,教育机构网站建设方案书,平面设计好就业吗概念 首先聊聊泛型,泛型是JDK5的新特性。泛型是用来指定不同类型来控制形参具体限制的类型。泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的(运行阶段泛型没用)。写了这么多代码应该能知道泛型的优点就是…

概念

        首先聊聊泛型,泛型是JDK5的新特性。泛型是用来指定不同类型来控制形参具体限制的类型。泛型这种语法机制,只在程序编译阶段起作用,只是给编译器参考的(运行阶段泛型没用)。写了这么多代码应该能知道泛型的优点就是可以使集合中存储的元素类型是统一一致的并且可以做到不需要进行大量的转型。此文章并不主要讲泛型的使用,而是记录源码中泛型的用法,比如<T>这种类型。

public class GenericTest{public static void main(String[] args){//这就是使用泛型的方法 保证此集合只存储String数据类型的元素List<String> list = new ArrayList<String>();//在JDK8后引入了新特性:自动类型推断机制 可以将上面的语句简写为:List<String> list = new ArrayList<>();}
}

泛型表示

        首先应该知道泛型可以被用在什么地方上?答案有:接口方法属性。当然哈,泛型不能用在八种基本数据类型上:byte、short、int、long、float、double、boolena、char。必须用在类名后或者方法返回值之前。泛型的表达式主要有以下几种:

1、<T> 普通符号

2、无边界通配符 <?>

3、上界通配符 <? extends E> E表示父类

4、下界通配符<? super E> 是E的子类

泛型擦除

public class GenericTest {public static void main(String[] args){List<String> l1 = new ArrayList<>();List<Integer> l2 = new ArrayList<>();System.out.println(l1.getClass() == l2.getClass() ? "true" : "false");//true}
}

从上面这个例子可以看出两个集合中存储的类型不一致,但是得到的字节码文件是一样的。这就是因为JVM的泛型擦除机制,在JVM中把泛型给忽略掉了,只保留了原始类型。

静态方法与返回类型

        上文说过:泛型必须用在类名后或者方法返回值之前。所以如果我们编写的类中的静态方法,使其返回的类型为当前类本身并且后面还加了个泛型,那么静态方法后也要加泛型,否则会报错,这是为什么呢?例子如下:

public class Result<T> {private T data;//这样写是会报错的public static Result<T> ok(T data){return Result.ok(data);}//必须在静态方法后也加个泛型public static<T> Result<T> ok(T data){return Result.ok(data);}//如果不想报错就写成非静态的public Result<T> ok(T data){return Result.ok(data);}
}

        上述这个例子就必须研究到JVM的类加载机制:

        静态方法和普通方法的生命周期不一致:静态方法生命周期属于类加载的时候,在Java中泛型只是一个占位符,必须传递具体类型才可以使用,也就是类实例化的时候才传递具体参数类型,由于静态方法的加载在类实例化之前,也就是说在类未实例化的时候,类中的泛型还没有传递真正的类型参数,这时候静态方法就已经加载完成。显然,静态方法不能使用/也就是访问不到泛型类中的泛型,所以需要加<T>声明使用哪种泛型类型。所以说,如果不想报错的话也可以不用静态方法。

        还有一点就是关于泛型擦除。Java的泛型属于伪泛型,也就是说只会在编译期才生效。编译之后会产生泛型擦除。比如T就会被JVM认成Object。

http://www.yayakq.cn/news/58645/

相关文章:

  • 做网站有陪标现象吗做网站可以不做后端吗
  • 简单分析网站的外链 以及优化的策略.中国建设教育协会安全员证
  • 用python做购物网站下载学校网站模板下载
  • 青岛工程建设管理信息网站网站建设栏目标语口号
  • 用什么编程语言做网站好超简单做网站软件
  • 缅甸做网站网站建设要考虑哪些
  • 做网站采集广州网站制作托管
  • 网站导航设计法则网站推广与搜索引擎优化
  • 企业网站推广名词解释网站建设的七大主要目的
  • 单仁做的网站怎么建立自己的微信公众号
  • 后台网站要做权限前端还是后台做企业网站怎么做省钱
  • 网站建设功能报价东莞企业邮箱
  • 电脑 手机网站建站可做区域代理的网站
  • 广西住房与城乡建设厅网站会员管理系统设计
  • 北京鑫创网站建设qq登陆wordpress
  • 网站自然排名怎么轩与巧之歌wordpress
  • 外贸网站如何推广山东公司网站建设
  • 个人网站建设教程pdf中国建设银行手机wap网站
  • 怎么做国际网站app开发需求
  • 宁夏固原建设网站西安百度百科
  • 做电脑壁纸的网站青岛seo整站优化哪家专业
  • 做企业展示型网站微信小程序模板库
  • 广州网站运营十年乐云seo网站开发需要了解的知识
  • 徐州网站建设招聘网sae wordpress升级
  • 优秀htm网站wordpress 禁止过滤
  • wordpress个人网站备案管理应用商店下载安装电脑
  • 彩票网站源码下载python爬虫 wordpress
  • 高清logo网站东莞品牌网站建设多少钱
  • jquery 的网站模板最便宜的企业邮箱多少钱一年
  • 网上做网站兼职萤石云网站开发