Java泛型应用浅析

Java泛型,饿,这个东西吗,嚼一下还是有必要的。有啥用呢?小弟曾觉着吧,吹牛是条不错的出路,但没一次没有不吹破的。(绕吧^_^)

详解呢,没啥必要了,参见附件解压后Java泛型详解.txt(引用网址…小弟知错了T^T)。

一、泛型概念简述

泛型吗,就是泛泛的类型,指代某一种类型的符号。例如Map,K、V指代某种类型一样。而我们呢,在内部则直接用K、V来进行处理。

这样有啥好处呢?1.消除强制类型转换;2.附加类型检查,避免错误类型;3.确保Java类型安全(这才是主要目的)等。相信用过集合框架的都有类似体会。

二、泛型基础特征

1)在定义泛型类或声明泛型类的变量时,使用尖括号来指定形式类型参数。例如java.util.Map接口的定义:

public interface Map {

public void put(K key, V value);

public V get(K key);

}

命名方式约定以大写的单个字母名称作为类型参数。常见泛型推荐的名称:K,键;V,值;E,异常类;T,泛型。

2)泛型不是协变的,即无法向上转型。不同于Object obj = new String("str"),以下方式是错误的:

List strList = new ArrayList();

List objList = strList; // invalid

如果第二行写成List objList = strList,可以通过编译但会出现警告(类型不安全)。那如何表示泛型为一个通用泛型,就是定义个尖括号内可以放任意类型的泛型呢?这是就要使用类型通配符了。

3)类型通配符,’?’表示。可以声明一个List>,作为任何泛型List的父类型。即List> objList = strList,这样就没啥问题了。

4)受限泛型,即给泛型定义上下限。简单说,就是类型参数必须是某类及其子类(上限),或者是某类及其父类(下限)。

怎么弄捏,例如List为传入参数,限定类型参数必须为Number,如下:

public void fun(List extends Number> list) {…}

上述List只接收Number及Number的子类。另一种方式,只接收Integer及其父类,则如下:public void fun(List super Integer> list) {…}。

三、泛型简单应用

OK,现在开始本文最切题的章节啦,各位看官还请拭目以待^_^!

……

参见附件-_-!

附个内容表吧:

包名

样例名

备注

org.join.generic.one

样例1:泛型类

一个和多个类型参数的泛型类

org.join.generic.two

样例2:通配符

输出了泛型类成员变量类型

org.join.generic.three

样例3:受限泛型

extends、super

org.join.generic.four

样例4:泛型接口

泛型接口及其实现

org.join.generic.five

样例5:泛型方法

返回泛型示例、统一参数类型

org.join.generic.six

样例6:泛型数组

泛型数组使用

org.join.generic.seven

样例7:泛型嵌套

Map&List嵌套

四、后记

手冷,呜呜…

java泛型 包_Java泛型应用浅析相关推荐

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

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

  2. java泛型方法 通配符_Java泛型教程–示例类,接口,方法,通配符等

    java泛型方法 通配符 泛型是Java编程的核心功能之一,它是Java 5中引入的.如果您使用的是Java Collections ,并且版本5或更高版本,则可以肯定使用了它. 将泛型与集合类一起使 ...

  3. java泛型面试_Java泛型面试问题

    java泛型面试 Java面试中的通用面试问题在相当长的时间内在Java 5周围越来越普遍,许多应用程序都转移到Java 5上,并且几乎所有新的Java开发都发生在Tiger(Java 5的代号)上. ...

  4. java泛型特点_java泛型简单总结

    Java泛型简单总结 1)基本概念: 泛型(Generic Type或Generics)是 对Java语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类.可以把类型参数看做是使用参数化类型时 ...

  5. java 泛型示例_Java泛型示例教程–泛型方法,类,接口

    java 泛型示例 Java Genrics is one of the most important features introduced in Java 5. Java Genrics是Java ...

  6. java泛型 初始化_Java泛型详解

    概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有 ...

  7. java 泛型参数_Java泛型

    一.概述 Java泛型(generics)是JDK 5中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许程序员在编译时监测非法的类型.使用泛型机制编写的程序代码要比那些杂乱地使用Obje ...

  8. java泛型方法作用_java泛型的作用与使用方法是什么?

    泛型,即"参数化类型".一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参.那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变 ...

  9. java泛型优点_java泛型的作用和好处

    转载于:https://blog.csdn.net/u012760183/article/details/52092692 之前参加面试的时候遇到面试官问泛型的作用,只是说了大概自己的理解, 在此转载 ...

最新文章

  1. Java中常见数据结构Map之HashMap
  2. golang 导出变量、函数 首字母必须大写
  3. 成功解决matplotlib绘图的时候横坐标或纵坐标文本显示不全/显示一半/显示不完整的问题
  4. 大咖分享 | 产品经理如何成长进阶?
  5. AI领域人才,做什么工作可以年薪百万?
  6. go benchmark 性能测试 单元测试 基准测试 使用方法详解
  7. leetcode 377. 组合总和 Ⅳ(dp)
  8. JDom,jdom解析xml文件
  9. Apache HttpClient 4 3开发指南
  10. linux目录创立文件硬链接,在Linux中创建文件目录软链接、硬链接的方法
  11. file 图片上传 java_Java MultipartFile 上传文件/上传图片 亲测
  12. mysql lock table阻塞读_MySQL的lock tables和unlock tables的用法【数据库锁表】
  13. 超好用json转excel工具
  14. python数据分析04--双均线策略、金叉与死叉的理解
  15. 英国高端SPA级奢养护肤品牌EVE LOM相继入驻成都IFS、北京连卡佛;FILA斐乐携手梵高博物馆推出全新联名系列 | 知消...
  16. 文献综述格式及写作技巧
  17. 从西方的七宗罪入手,提升自己
  18. AV/EDR 免杀逃避技术汇总
  19. BT 网站海盗湾(The Pirate Bay)不屈的精神
  20. Gataway中的Predicate的使用

热门文章

  1. JavaScript Array 对象(length)方法 (contact、push,pop,join,map、reverse、slice、sort)
  2. 备份自己的myeclipse快捷键到需要的环境
  3. 【练习】删除表中的分区
  4. [原创]java WEB学习笔记80:Hibernate学习之路--- hibernate配置文件:JDBC 连接属性,C3P0 数据库连接池属性等...
  5. ECSHOP邮件验证后送积分
  6. 基于消息队列的UDP并发服务器v1
  7. java动态类加载_实现Java动态类载入机制
  8. ‘cross-env‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  9. oracle 日期trunc,Oracle TRUNC(date) TRUNC(number)
  10. Python使用pyinstaller打包几个小技巧