Java泛型详解:<T>和Class<T>的使用,泛型类
单独的T 代表一个类型 ,而 Class代表这个类型所对应的类, Class<?>表示类型不确定的类
E - Element (在集合中使用,因为集合中存放的是元素)T - Type(Java 类)K - Key(键)V - Value(值)N - Number(数值类型)? - 表示不确定的java类型
例子
Set<T> 表示 集合里 是 T类的实例
List<E> 表示 集合里 是 E类的实例
List<?> 表示 集合里的对象类型不确定,未指定
List 同 List<?> 是一样的。
如何创建一个Class类型的实例?
就像使用非泛型代码一样,有两种方式:调用方法 Class.forName() 或者使用类常量X.class。 Class.forName() 被定义为返 回 Class<?>。另一方面,类常量 X.class 被定义为具有类型 Class<X>,所 以 String.class 是Class<String> 类型的。
方法中为什么需要 T修饰呢
泛型的声明,必须在方法的修饰符(public,static,final,abstract等)之后,返回值声明之前
public static <T> T request2Bean(HttpServletRequest request,Class<T> clazz){}
其中第一个是与传入的参数Class相对应的,相当于返回值的一个泛型,后面的T是返回值类型,代表方法必须返回T类型的(由传入的Class决定)
Java泛型详解:<T>和Class<T>的使用,泛型类相关推荐
- Java泛型详解-史上讲解最详细的,没有之一
目录 1. 概述 2. 一个栗子 3. 特性 4. 泛型的使用 4.1 泛型类 4.2 泛型接口 4.3 泛型通配符 4.4 泛型方法 4.4.1 泛型方法的基本用法 4.4.2 类中的泛型方法 4. ...
- java 泛型详解、Java中的泛型方法、 java泛型详解
本文参考java 泛型详解.Java中的泛型方法. java泛型详解 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用. 什么是泛型?为什么要使用泛型? 泛型,即& ...
- 最详细的java泛型详解
来源:最详细的java泛型详解 对java的泛型特性的了解仅限于表面的浅浅一层,直到在学习设计模式时发现有不了解的用法,才想起详细的记录一下. 本文参考java 泛型详解.Java中的泛型方法. ja ...
- java 泛型详解-绝对是对泛型方法讲解最详细的,没有之一,大厂 HR 如何面试
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 对j ...
- Java 泛型详解(超详细的java泛型方法解析)
Java 泛型详解(超详细的java泛型方法解析) 1. 什么是泛型 泛型:是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型.也就是说在泛型使用过程中,操作的数据类型被指定为 ...
- java 泛型 .net_Java基础11:Java泛型详解
本文对java的泛型的概念和使用做了详尽的介绍. 本文参考https://blog.csdn.net/s10461/article/details/53941091 具体代码在我的GitHub中可以找 ...
- java 泛型详解-绝对是对泛型方法讲解
Reference: http://blog.csdn.net/s10461/article/details/53941091 1. 概述 泛型在java中有很重要的地位,在面向对象编程及各种设计模 ...
- Java泛型详解,史上最全图文详解
泛型在java中有很重要的地位,无论是开源框架还是JDK源码都能看到它. 毫不夸张的说,泛型是通用设计上必不可少的元素,所以真正理解与正确使用泛型,是一门必修课. 一:泛型本质 Java 泛型(gen ...
- Java泛型详解:<T>和Class<T>的使用。泛型类,泛型方法的详细使用实例
Java泛型 Class和 Class<?>类型 有什么区别 一.引入 1.泛型是什么 首先告诉大家ArrayList就是泛型.那ArrayList能完成哪些想不到的功能呢?先看看下面这段 ...
- Java泛型详解:泛型类、泛型方法使用
转自:https://www.cnblogs.com/jpfss/p/9928747.html 一.泛型类定义及使用 public class Point<T> {private T x; ...
最新文章
- httpclient工具类,post请求发送json字符串参数,中文乱码处理
- spark sql 本地调试_Spark精华问答|Spark的三种运行模式有何区别?
- SqlHelper全攻略
- RuntimeError: cudnn64_7.dll not found.
- from import python3_《Python语言程序设计》 —3.3.2 from import
- O(n)算法得到数组中第k大的数字
- python的简单程序代码_小白学编程?从一个简单的程序开始学习Python编程
- matlab双目相机标定校正_基于双目视觉的无人机避障算法(一)
- c++ windows 蓝牙库_蓝牙翻页笔(PPT 控制器) | ESP32学习之旅-Arduino版
- 树视图主要属性 c# 0207
- POJ 3667 Hotel (线段树区间合并)
- 松本行弘的程序世界。
- 梅科尔工作室-PR第三次培训笔记(效果与转场及插件使用)
- photoshop7.0绿色迷你免安装版
- 自然语言推断:微调BERT
- 情人节——圣瓦伦丁节(St. Valentine's Day)
- 像素级分层语义图像分割
- 关于BH1750的使用说明
- it可以拥有的证书含金量和途径
- 联想收购方正,不是不可能
热门文章
- sharepoint 2013 个人站点母版
- 如何修改myeclipse中web项目的工作路径或默认路径
- ADT Running Android Lint has encountered a problem
- yaf(5) smarty
- VC++学习(15):多线程
- Linux下高性能网络编程中的几个TCP/IP选项_SO_REUSEADDR、SO_RECVBUF、SO_SNDBUF、SO_KEEPALIVE、SO_LINGER、TCP_CORK、TCP_NODE
- 函数参数的传递问题(一级指针和二级指针)
- Gmapping——从原理到实践
- C#条件运算符if-else的简化格式
- 【图像处理】——图像特效处理(马赛克、图像融合、毛玻璃等)