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

网站建设如何插入文字编辑器网络优化工程师

网站建设如何插入文字编辑器,网络优化工程师,电脑网页怎么下载视频,企业网站建设解决方案报告论文概念 首先聊聊泛型,泛型是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.hkea.cn/news/654290/

相关文章:

  • mysql8 wordpress百度推广优化是什么意思
  • 做装修广告网站好seo推广公司招商
  • 城市模拟建设游戏网站今天最新的新闻头条新闻
  • 手机网站自适应代码品牌网络营销策划方案
  • 个人网站建设在哪里百度资源搜索平台
  • 云空间免费空间北京网站优化校学费
  • 个人网站做导航网站项目推广平台有哪些
  • 威海住房建设局网站培训学校资质办理条件
  • 做趣味图形的网站免费线上培训平台
  • 女生做网站前端设计师成都网站seo
  • 濮阳建设银行官方网站搜索引擎优化的对比
  • 完全删除wordpressseo小白入门
  • 做网站常用到的css标签什么软件可以找客户资源
  • 有做销售产品的网站有哪些新闻头条今日新闻
  • 深圳自己做网站 服务器优化的近义词
  • 网站开发职业工资网站推广上首页
  • 宝安附近公司做网站建设多少钱深圳百度开户
  • 成都紧急通知seo网络营销招聘
  • 思坎普网站建设如何做营销推广
  • 太原网站优化公司有域名和服务器怎么建网站
  • 网站策划的前景seo 推广
  • wordpress导入网站文章怎么联系百度人工客服
  • 制冷机电工程东莞网站建设简阳seo排名优化培训
  • 北京网站建设 网站维护服装营销方式和手段
  • 唐山高端网站建设开发新客户的十大渠道
  • 小地方的旅游网站怎么建设seo教程有什么
  • 做网站教程宁波百度seo点击软件
  • asp.net个人网站北京专门做seo
  • 石家庄java开发做网站百度资源站长平台
  • 有哪些网站系统网络营销首先要进行