当前位置: 首页 > 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.laogonggong.com/news/29484.html

相关文章:

  • 什么是网站设计公众号推广合作平台
  • 软件网站怎么做seo线上培训机构
  • 网站建设价格如何淘数据官网
  • 申请建设网站的请示关键词优化百家号
  • 做设计下素材有比较好的网站免费生成短链接
  • 上海网站建设平台武汉网站推广
  • 济宁三合一网站建设湖北网络营销网站
  • 河曲县城乡建设管理局网站网站关键词优化排名公司
  • 确定网站推广的阶段目标投资网站建设方案
  • 跨境电商平台数据石家庄seo网络优化的公司
  • 深圳网站的优化公司网站竞价推广
  • 创建吃的网站怎么做娃哈哈软文推广
  • 网站开发软件技术专业好吗今天发生的重大新闻5条
  • 网站开发开源程序网络推广怎么找客户资源
  • 提升学历官网成都seo工程师
  • 目前安徽疫情最新情况百度seo整站优化
  • 没有网站做cpa如何用html制作一个网页
  • 梧州网站建设公司互联网销售公司
  • 接给别人做网站的活长沙百度网站优化
  • 天河区建设水务局网站百度 人工客服
  • 网站建设如何加入字体培训班有哪些
  • 门户和网站的区别郑州优化网站关键词
  • 为什么访问外国网站速度慢长沙关键词优化平台
  • 现在一些产品网站开发用的啥框架全国教育培训机构平台
  • 怎么建立自己公司的网站seo优化排名是什么
  • 英孚做测试的网站黄冈网站推广软件费用是多少
  • 互联网金融p2p网站建设模板百度商业账号登录
  • 做网站设计服务商淘宝关键词排名优化
  • 中文绿色环保网站模板下载小江seo
  • 做百度手机网站优百度网页网址