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

大连建设信息网厦门seo搜索引擎优化

大连建设信息网,厦门seo搜索引擎优化,合法购物网站建设,网站建设费交文化事业泛型定义以及其带来的好处 泛型使类型(类和接口)能够在定义类、接口和方法时成为参数。与方法声明中使用的更熟悉的形式参数非常相似,类型参数为您提供了一种通过不同输入重复使用相同代码的方法。区别在于形式参数的输入是值,而…

泛型定义以及其带来的好处

泛型使类型(类和接口)能够在定义类、接口和方法时成为参数。与方法声明中使用的更熟悉的形式参数非常相似,类型参数为您提供了一种通过不同输入重复使用相同代码的方法。区别在于形式参数的输入是值,而类型参数的输入是类型。

使用泛型的代码比非泛型代码有很多好处:

  1. 编译时更强的类型检查。 Java 编译器对泛型代码应用强类型检查,如果代码违反类型安全,则会发出错误。修复编译时错误比修复运行时错误更容易,后者很难发现。

  2. 避免类型转换

以下没有泛型的代码片段需要强制转换:

List list = new ArrayList();
list.add("hello");
String s = (String) list.get(0);

当重写为使用泛型时,代码不需要转换:

List<String> list = new ArrayList<String>();
list.add("hello");
String s = list.get(0);   // no cast
  1. 使程序员能够实现通用算法。 通过使用泛型,程序员可以实现适用于不同类型集合的泛型算法,可以自定义,并且类型安全且更易于阅读。

绕过泛型定义

使用反射

public static void main(String[] args) throws Exception {List<String> list = new ArrayList<>();list.add("aa");list.add("bb");Class clazz = Class.forName("java.util.ArrayList");Method method = clazz.getMethod("add", Object.class);method.invoke(list, 123);System.out.println(list);
}

输出结果:

[aa, bb, 123]

注意:

如果通过循环遍历输出list的元素,比如

for(String str : list) {System.out.println(str);
}

或者

list.stream().forEach(p -> System.out.println(p));

就会报错:

aa
bb
Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Stringat java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1382)at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:580)at com.springcloud.business.controller.BusinessController.main(BusinessController.java:45)

这是因为遍历的时候,会把集合里的元素拿出来,作为泛型定义的String类型输出,而我们通过反射添加了一个Integer类型的值,因此造成类型转换错误。

除非我们这样遍历输出:

for(Object str : list) {System.out.println(str);
}

输出结果:

aa
bb
123
http://www.dinnco.com/news/40869.html

相关文章:

  • seo 网站描述长度石家庄百度搜索优化
  • 怎样在凡科免费做网站私域营销
  • 一般做公司网站需要哪几点a5站长网
  • 网站改版怎么弄武汉大学人民医院精神卫生中心
  • 做热饮店网站谷歌官方网站首页
  • 公明网站制作万网域名注册
  • 做风控的网站百度软文推广公司
  • 湖北网站建设找哪家百度免费发布信息平台
  • 2015做微网站多少钱网页模板怎么用
  • 500个公司取名大全西安百度首页优化
  • 58同城天门网站建设seo还能赚钱吗
  • 天河做网站哪家强网站搜索优化
  • 怎样做o2o网站百度云盘网页版
  • 阿里云网站备案时间怎么制作小程序
  • 马云不懂技术如何做网站win10优化软件
  • 网站3级目录可以做导航分类么凡科网怎么建网站
  • 日本 wordpressseo分析报告怎么写
  • 上海地区做旧物回收的网站辽源seo
  • 河南洛阳网站建设搜索引擎数据库
  • wordpress彩色内链广州seo软件
  • WordPress多站点恢复手机如何做网站
  • 在线相册jsp网站开发与设计都有什么推广平台
  • 济南网站建设求职淘宝seo是什么
  • 余姚网站建设哪家好营销型网站建设优化建站
  • 中国建设银行黑龙江支行官方网站今日中央新闻
  • google英文网站现在学seo课程多少钱
  • 网站建设方案规划书2022年每日新闻摘抄10一30字
  • 网站建设注意什么seo云优化公司
  • 哪里有手机网站建设公司磁力王
  • 客户网站 备案电子商务营销策划方案