Java 泛型(generics)是 JDK 5 中引入的一个新特性, 泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质是参数化类型,也就是说所操作的数据类型被指定为一个参数。假定我们有这样一个需求:写一个排序方法,能够对整型数组、字符串数组甚至其他任何类型的数组进行排序,该如何实现?答案是可以使用 Java 泛型。使用 Java 泛型的概念,我们可以写一个泛型方法来对一个对象数组排序。然后,调用该泛型方法来对整型数组、浮点数数组、字符串数组等进行排序。

泛型方法

你可以写一个泛型方法,该方法在调用时可以接收不同类型的参数。根据传递给泛型方法的参数类型,编译器适当地处理每一个方法调用。

下面是定义泛型方法的规则:

所有泛型方法声明都有一个类型参数声明部分(由尖括号分隔),该类型参数声明部分在方法返回类型之前

每一个类型参数声明部分包含一个或多个类型参数,参数间用逗号隔开。一个泛型参数,也被称为一个类型变量,是用于指定一个泛型类型名称的标识符。类型参数能被用来声明返回值类型,并且能作为泛型方法得到的实际参数类型的占位符。泛型方法体的声明和其他方法一样。注意类型参数只能代表引用型类型,不能是原始类型(int,double,char的等)。

Java基础 Java 泛型相关推荐

  1. Java基础之泛型简单讲解(通俗易懂)

    Java基础之泛型简单讲解(通俗易懂) 1. 前言 2. 简单例子对比理解 2.1 未使用泛型例子--ArrayList 2.2 使用泛型的例子 2.2.1 ArrayList 举例 2.2.2 Ha ...

  2. Java基础-Java中的堆内存和离堆内存机制

    Java基础-Java中的堆内存和离堆内存机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnblogs.com/yinzhengjie/p/9 ...

  3. Java基础-JAVA中常见的数据结构介绍

    Java基础-JAVA中常见的数据结构介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.什么是数据结构 答:数据结构是指数据存储的组织方式.大致上分为线性表.栈(Stack) ...

  4. Java基础-Java中的内存分配与回收机制

    Java基础-Java中的内存分配与回收机制 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一. 二. 转载于:https://www.cnblogs.com/yinzhengji ...

  5. Java基础——Java多继承的三种实现方式

    Java基础--Java"多继承"的三种实现方式 Java语言本身只支持单继承(每个类只能有一个父类),但单继承的局限性很大,因此,可以通过以下的方式实现"多继承&quo ...

  6. [重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别

    [重学Java基础][Java IO流][Exter.2]IO流中几种不同的读写方法的区别 Read 读入方法 read(): 一般是这种形式 public int read() 1.从流数据中读取的 ...

  7. Java基础----Java编程语言概述

    Java基础----Java编程语言概述 文章目录 Java基础----Java编程语言概述 Java编程语言概述 1-1 软件开发介绍 1.1软件开发介绍 1.2 常用命令 1-2 计算机编程语言介 ...

  8. JAVA基础--JAVA SE(知识点总结 Ⅴ )

    前面内容请见: JAVA基础–JAVA SE(知识点总结 Ⅰ ) JAVA基础–JAVA SE(知识点总结 Ⅱ ) JAVA基础–JAVA SE(知识点总结 Ⅲ ) JAVA基础–JAVA SE(知识 ...

  9. Java基础-Java中常用的锁机制与使用

    Java基础-Java中常用的锁机制与使用 锁lock或互斥mutex是一种同步机制,主要用于在存在多线程的环境中强制对资源进行访问限制.锁的主要作用为强制实施互斥排他以及并发控制策略.锁一般需要硬件 ...

  10. Java基础之泛型反射

    a.泛型 含义:是JDK1.5的新特性,本质是参数化类型,即所操作的数据类型被指定为一个参数,使用时通过传参来指定具体的类型. 好处:安全简单.具体体现在提供编译时的强类型检查,而不用等到运行:可避免 ...

最新文章

  1. Maven中settings.xml的配置项说明
  2. IDEA修改Servlet的代码生成模板
  3. 测试无数据_fpc柔性线路板压合辅材的测试方法
  4. Java线程问题问答
  5. 学习生物信息的系列书籍
  6. 【cocos2d-x 手游研发----目录】
  7. Java初学者笔记五:泛型处理
  8. Java编程:树(基础部分)
  9. 75道程序员面试逻辑思维题
  10. 计算机考研初试/复试——软件工程
  11. gradle入门教程
  12. mysql删除命令历史记录_MySQL历史命令记录清除
  13. 基于微信小程序的投票系统源码
  14. BlueCoat ProxySG性能问题分析--ICAP排队现象
  15. 这是?国内跨境电商降本增收营销神器
  16. NameError: name 'XX' is not defined
  17. Artemis客户端安装
  18. 《古月ROS探索总结》学习笔记2
  19. HTML学生个人网站作业设计:公益专题扫黑除恶(HTML+CSS)
  20. 第一课:句子成分与基本句型

热门文章

  1. Java获取当前时间前24小时时间
  2. 喜讯 | 经纬恒润荣获一汽红旗 “攻坚克难·旗志奖”
  3. 任正非:谁建言华为造车,就是干扰公司
  4. HTML总结(贵美商城项目)
  5. 挑战100天不停更hive sql 第25天 -场景题一 学生课程
  6. office 2016打开很抱歉此功能看似已中断并需要修复
  7. 在QNX平台上开发Java应用程序 (更新版) 2004年写的呢
  8. 《Cisco IPv6网络实现技术(修订版)》一1.5 IPv5
  9. 遗传学与基因组学原理 | 遗传方式及多因素遗传
  10. 数字孪生的思考 01 - 简述一下数字孪生项目的实现路线