泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。就是一种不确定的数据类型

泛型的好处:

  1. 省略了强转的代码。
  2. 可以把运行时的问题提前到编译时期,提高 Java 程序的类型安全
  3. 编写的代码可以被不同类型的对象所重用,可以编写重用性更好的代码

泛型的使用方式:
 泛型类  `public class GenericClass{
private F mContent;
public GenericClass(F content){
mContent = content;
}

/*泛型方法

*/

public F getContent(){return mContent;}public void setContent(F content){mcontent = content;}/*泛型接口
*/public interface GenericInterface<T>{void  doSomething(T t);}

泛型的通配符
 1.<?>无限制通配符

 2.<? extends E> extends 关键字声明了类型的上界,表示参数化的类型可能是所指定的类型,或者是此类型的子类。

 3.<? super E> super 关键字声明了类型的下界,表示参数化类型可能是指定类型,或者是此类型的父类

java 什么是泛型?相关推荐

  1. Java中创建泛型数组

    Java中创建泛型数组 使用泛型时,我想很多人肯定尝试过如下的代码,去创建一个泛型数组 T[] array = new T[]; 当我们写出这样的代码时编译器会报Cannot create a gen ...

  2. 2015第22周六Java反射、泛型、容器简介

    Java的反射非常强大,传递class, 可以动态的生成该类.取得这个类的所有信息,包括里面的属性.方法以及构造函数等,甚至可以取得其父类或父接口里面的内容. obj.getClass().getDe ...

  3. Java中的泛型 --- Java 编程思想

    前言 ​ 我一直都认为泛型是程序语言设计中一个非常基础,重要的概念,Java 中的泛型到底是怎么样的,为什么会有泛型,泛型怎么发展出来的.通透理解泛型是学好基础里面中非常重要的.于是,我对<Ja ...

  4. 14. Java基础之泛型

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  5. java中的泛型的使用与理解

    什么是泛型? 泛型是程序设计语言的一种特性.允许程序员在强类型程序设计语言中编写 体验泛型 代码时定义一些可变部份,那些部份在使用前必须作出指明.各种程序设计语言和其编译器.运行环境对泛型的支持均不一 ...

  6. java中什么泛型_【原创】java中的泛型是什么,有什么作用

    泛型(Generic type 或者 generics)是对 Java 语言的类型系统的一种扩展,以支持创建可以按类型进行参数化的类.可以把类型参数看作是使用参数化类型时指定的类型的一个占位符,就像方 ...

  7. 【笔记】JAVA中的泛型和反射

    泛型 Java的泛型是如何工作的?什么是类型擦除? ----泛型是通过类型擦除来实现的,编译器在编译时擦除了所有类型相关的信息,所以在运行时不存在任何类型相关的信息.例如List在运行时仅用一个Lis ...

  8. java模型给泛型_java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一

    对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应 ...

  9. Java:反射+泛型:获取类型参数的实例

    2019独角兽企业重金招聘Python工程师标准>>> 场景描述: 我需要开发四个页面,每个页面都是只涉及增删改查的基本逻辑. 最简单的写法: 创建四个接口A,B,C,D,每个接口中 ...

  10. Java集合和泛型练习及面试题——博客园:师妹开讲啦

    给定一段JAVA代码如下:要打印出list中存储的内容,以下语句正确的是( B  ) ArrayList list = new ArrayList( ) list.add("a") ...

最新文章

  1. 21天精通python-21天学通Python 完整pdf扫描版[58MB]
  2. 用什么擦地最干净脑筋急转弯_脑筋急转弯:手机的反义词是什么?答案让人笑得肚子疼!...
  3. DL之SqueezeNet:SqueezeNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  4. 使用vue来做局部刷新
  5. 微软发布首个 Chromium Edge stable 预览版
  6. ActiveMQ(三)——JMS消息结构、JMSReplyTo、面试题(消息丢失,消息重复,消息顺序)
  7. python少儿编程竞赛_家长必读!国内外含金量最高的编程比赛全在这了!
  8. 虎年全新姓氏头像制作多模板微信小程序2022新版头像制作源码支持多种流量主模式亲测
  9. JS 解决IE浏览器出现Automation 服务器不能创建对象
  10. 财经365热点:当阿里巴巴不再讲“中台”
  11. 计算机怎么盲打键盘,如何练习盲打 键盘盲打指法练习技巧-电脑教程
  12. python加载图片的方法_python实现读取并显示图片的两种方法
  13. python查找元素在列表中位置
  14. 8.6 空间曲面及方程
  15. 学习发展历史,真的一无所用吗?NO
  16. 计算机网络(三):IP协议,路由器转发,路由器和交换机的区别
  17. 淋巴细胞转化中PHP的作用,淋巴细胞转化试验范围|意义
  18. JavaJDK说明与安装
  19. 【干货分享】流程DEMO-出差申请单
  20. 知识点滴 - 世界上有多少国家?国旗是什么?

热门文章

  1. Python 浮点数运算
  2. 一些知识点的初步理解_6(核函数,ing...)
  3. .NET Remoting程序开发入门篇(五)
  4. phpstorm 2017.1.3编辑远程项目
  5. Nginx反向代理多个应用时,通过BluePring使Flask支持二级路径(URL前缀)
  6. CS231n 学习笔记(4)——神经网络 part4 :BP算法与链式法则
  7. CIDetector 相册识别二维码出错
  8. web自动化测试---概述
  9. Hive记录-配置远程连接(JAVA/beeline)
  10. 累加求和 Accumulate.java