1. 当我们从一个集合里取出来一个元素的时候,如果没有使用泛型,那么这个元素的类型是Object,因为集合没有办法记住他的元素的数据类型,所以我们要使用集合元素的时候,第一步就是要强制类型转换,这会使得代码变得非常臃肿,而且一不小心就ClassCastException,所以在java5后有了泛型,泛型可以使得集合可以“记住”他的元素的类型,这样子极大的方便了集合的使用,以下为最简单的泛型使用示例

    package UseIt;import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;public class DiamonTest {public static void main(String args[]){List<String> list = new ArrayList<>();list.add("java1");list.add("java2");for(String str : list){System.out.println(str);}Map<String, List<String>> map = new HashMap<>();List<String> list1 = new ArrayList<>();list1.add("java1");list1.add("java1");map.put("java3", list1);for(String key : map.keySet()){List <String> list2 = map.get(key);
    //            这里已经不需要强制转换了,因为集合已经“记住”了它的元素的类型System.out.println(key + "---->" + list2);}}}
    //输出结果
    //        java1
    //        java2
    //        java3---->[java1, java1]
  2. 补充一下,在java7之后出现了“菱形”语法,即使在声明诸如 List<String> list = new ArrayLaist<String>();的时候,可以用List<String> list = new ArrayLaist<>();代替,因为后面尖括号里的String是没有存在的必要的

java泛型(1) 认识泛型相关推荐

  1. 泛型java 代码讲解_Java泛型详解

    2516326-5475e88a458a09e4.png 一,打破砂锅问到底 泛型存在的意义? 泛型类,泛型接口,泛型方法如何定义? 如何限定类型变量? 泛型中使用的约束和局限性有哪些? 泛型类型的继 ...

  2. Java这个高级特性-泛型,很多人还没用过!

    点击关注公众号,Java干货及时送达 泛型是 Java 的高级特性之一,如果想写出优雅而高扩展性的代码,或是想读得懂一些优秀的源码,泛型是绕不开的槛.本文介绍了什么是泛型.类型擦除的概念及其实现,最后 ...

  3. Java基础篇:泛型

    文章目录 1.为什么要有泛型 2.在集合中使用泛型 3.自定义泛型结构 4.泛型在继承上的体现 5.通配符的使用 1.为什么要有泛型 泛型:标签 泛型背后的核心思想就是:把一个集合中的内容限制为一个特 ...

  4. java中什么时候不能用泛型_java中泛型的正确使用姿势

    image.png 泛型是Java中一个非常重要的知识点,在Java集合类框架中泛型被广泛应用.利用好泛型,在系统架构中是一把利器. 泛型类 先看一个例子,restful架构中,需要定义api接口返回 ...

  5. java 泛型 t_Kotlin(2) 泛型与集合

    前言 以一个java老鸟的角度,如何去看 kotlin.Java源代码应该如何用Kotlin重构.如何正确学习kotlin并且应用到实际开发中.本文将会探究. 本文分两大块,重难点和潜规则. 重难点: ...

  6. java支持泛型_Java自学-泛型 支持泛型的类

    Java 如何设计支持泛型的类 步骤 1 : 不支持泛型的Stack 以Stack栈为例子,如果不使用泛型 当需要一个只能放Hero的栈的时候,就需要设计一个HeroStack 当需要一个只能放Ite ...

  7. java参数传入泛型类型_Java 5.0 泛型之 使用泛型统一传入的参数类型

    Java 5.0 泛型之 使用泛型统一传入的参数类型 package Demo; // 使用泛型统一传入的参数类型 class Info28 { private T var; // 此类型由外部决定 ...

  8. Java基础篇:泛型与类型擦除

    一.什么是泛型: 泛型的本质是 参数化类型,也就是说 将所操作的数据类型 指定为一个参数,在不创建新类的情况下,通过参数来指定所要操作的具体类型(类似于方法中的变量参数,此时类型也定义成参数形式),也 ...

  9. yii2数组转为对象_好程序员Java学习路线分享java为什么不支持泛型数组

    本篇文章好程序员为大家一下java为什么不支持泛型数组,希望对大家有所帮助. public class Pair { public void info( ) { System.out.println( ...

  10. java使用泛型后消除泛型_如何以及何时使用泛型

    java使用泛型后消除泛型 本文是我们名为" 高级Java "的学院课程的一部分. 本课程旨在帮助您最有效地使用Java. 它讨论了高级主题,包括对象创建,并发,序列化,反射等. ...

最新文章

  1. 电子游戏现在已经在当处方药了
  2. Codeup 问题 B: 算法7-16:弗洛伊德最短路径算法
  3. 希望今年能看懂和写出这样的Swift代码
  4. Tinyhttpd源码--实现http服务器
  5. 持续5个月,200+笔记,3千多人参与,邀请你来学源码~
  6. HDU2602 (0-1背包)
  7. java 根据类名示例化类_Java LocalDateTime类| ofInstant()方法与示例
  8. PCM音频文件的制作
  9. 肿瘤免疫浸润资源汇总
  10. PJzhang:左耳朵耗子-陈皓
  11. oo结尾的单词发音规律
  12. 3dmax 注意事项
  13. java最简单的打印日历表_java实现打印日历
  14. 随便说说,中国开发人员的不同层次和一些思考。
  15. 从技术起源看TD-SCDMA的演进
  16. 测试声音软件贴吧,免费声音相似度测量软件Sound-Similar Free
  17. 把代码写烂点,你在公司就不可代替了?
  18. (一)Apollo配置中心介绍
  19. TCP/IP协议中分包与重组原理介绍、分片偏移量的计算方法、IPv4报文格式
  20. [Excel]rank函数实现自动排序

热门文章

  1. chrome 切换标签页快捷键_chrome浏览页面常用快捷键
  2. Javascript算法练习(四)
  3. 事件营销成功案例-引爆全网的优衣库事件
  4. deepin升级Linux内核,深度 deepin 20.1 (1005)系统开启内测:升级至 Linux Kernel 5.8 稳定内核...
  5. 一根均线选股法_一条均线走天下,经典实用的均线选股战法,学会让你少走弯路!...
  6. c语言错误 应输入声明,C++错误:应输入声明
  7. 团队的英文翻译缩写_(整理)公司部门英文缩写简称大全
  8. 虚幻引擎UE4编辑器介绍
  9. 指环王中那个白色头发、擅长用弓箭的精灵族男子
  10. numpy保存npy