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决定)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/269696.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python入门知识大全_python基础知识有哪些

Python基础知识&#xff1a;1、引用和对象&#xff1b;2、可变数据类型和不可变数据类型&#xff1b;3、引用传递和值传递&#xff1b;4、深拷贝和浅拷贝&#xff1b;5、基本数据类型&#xff1b;6、关键字、标识符和内置函数&#xff1b;7、算术、赋值运算符等等。Python基础知…

Django开发1

Django开发1 初识Django1.安装django2.创建项目2.1 在终端2.2 Pycharm 3. 创建app4.快速上手4.1 再写一个页面4.2 templates模板4.3 静态文件4.3.1 static目录4.3.2 引用静态文件 5.模板语法//Django开发案例&#xff1a;联通新闻中心6.请求和响应案例&#xff1a;用户登录7.数…

编程式事务和声明式事物

编程式事务 声明式事物

【每日算法】基数排序算法

1&#xff09;算法简介 基数排序是一种非比较型整数排序算法&#xff0c;其原理是将整数按位数切割成不同的数字&#xff0c;然后按每个位数分别比较。由于整数也可以表达字符串&#xff08;比如名字或日期&#xff09;和特定格式的浮点数&#xff0c;所以基数排序也不是只能使…

AES加密算法256位密钥与128位密钥的不同之处

一、指代不同 1、256位密钥&#xff1a;AES的区块长度固定为256位&#xff0c;密钥长度则可以是256。 2、128位密钥&#xff1a;AES的区块长度固定为128位&#xff0c;密钥长度则可以是128。 二、安全性不同 1、256位密钥&#xff1a;256位密钥安全性高于128位密钥。 2、1…

事务默认的传播属性和事务默认的隔离级别

事务的传播属性 事务的隔离级别&#xff0c;用的就是当前数据的隔离级别

spring事务三大接口

1.事务三大接口 PlatformTransactionManager 事务管理器TransactionDefinition 事务的一些基础信息&#xff0c;如超时时间、隔离级别、传播属性等TransactionStatus 事务的一些状态信息&#xff0c;如是否一个新的事务、是否已被标记为回滚PlatformTransactionManager //根据…

java 类隔离_Java类装载体系中的隔离性

正文Java中类的查找与装载出现的问题总是会时不时出现在Java程序员面前&#xff0c;这并不是什么丢脸的事情&#xff0c;相信没有一个Java程序员没遇到过ClassNotException,因此不要为被人瞅见自己也犯这样的错误而觉得不自然&#xff0c;但是在如果出现了ClassNotFoundExcepti…

java用easyexcel实现读取excell表格内容

引入依赖 <!-- https://mvnrepository.com/artifact/com.alibaba/easyexcel --><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.2.6</version></dependency><!-- https:…

java常见异常思维导图_21_异常_第21天(异常、企业面试题,思维导图下载)

今日内容介绍1、异常概述和继承体系2、异常原因以及处理方式3、运行时期异常4、方法重写的异常处理5、Throwable类常见方法6、自定义异常01异常的概述* A: 异常的概述* a:什么是异常* Java代码在运行时期发生的问题就是异常。* b:异常类* 在Java中&#xff0c;把异常信息封装成…

Spring中的InitializingBean接口的使用

InitializingBean接口为bean提供了初始化方法的方式&#xff0c;它只包括afterPropertiesSet方法&#xff0c;凡是继承该接口的类&#xff0c;在初始化bean的时候会执行该方法&#xff0c;具体说spring初始化bean之后执行该方法 配置文件 <bean id"userServices"…

Spring事务CallbackPreferringPlatformTransactionManager

CallbackPreferringPlatformTransactionManager if (txInfo.transactionAttribute ! null && txInfo.transactionAttribute.rollbackOn(ex)) {} 判断属性的默认值不为nul l且判断当前的异常是RuntimeException还是Error&#xff0c;会返回1&#xff0c;其他异常返回0…

@PostConstruct注解学习

PostConstruct注解好多人以为是Spring提供的。其实是Java自己的注解。 Java中该注解的说明&#xff1a;PostConstruct该注解被用来修饰一个非静态的void&#xff08;&#xff09;方法。被PostConstruct修饰的方法会在服务器加载Servlet的时候运行&#xff0c;并且只会被服务器…

idea for mac 控制台 mvn command not found

一&#xff1a;现在的IDEA 自带maven库maven库的地址如下图查看 二:完idea 需要配置maven库的环境变量才能找到该命令 Mac系统的环境变量&#xff0c;加载顺序为&#xff1a; a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile f. ~/.bashrc 其…

java天气预报webservice_webservice之实现天气预报

前通过传智的视频自学了webservice的基本使用&#xff0c;也了解到webservice就是一种跨编程语言和跨操作系统平台的远程调用技术。对于这些理论知识在这里也不再做过多的解释&#xff0c;本次主要就是记录与分享使用cxf 框架完成远程调用气象局提供的接口&#xff0c;来实现天…

CSS下拉菜单

例子&#xff1a; 鼠标移动到按钮上打开下拉菜单。&#xff08;在这里我将下拉菜单的内容的链接设置为百度首页&#xff09; 下拉菜单 菜单内容 1 菜单内容 2 菜单内容 3HTML 部分&#xff1a; 制作下拉菜单可以使用任何的 HTML元素来打开下拉菜单&#xff0c;如&#xff1a;&l…

maven跳过单元测试-maven.test.skip和skipTests的区别

第一种 -Dmaven.test.skiptrue&#xff0c;不执行测试用例&#xff0c;也不编译测试用例类。 一 使用maven.test.skip&#xff0c;不但跳过单元测试的运行&#xff0c;也跳过测试代码的编译。 mvn package -Dmaven.test.skiptrue<plugin> <groupId>org.apache.m…

linux下java命令行参数_Java调用Linux命令行

Java调用Linux命令行Java语言以其跨平台性和简易性而著称&#xff0c;在Java里面的lang包里(java.lang.Runtime)提供了一个允许Java程序与该程序所运行的环境交互的接口&#xff0c;这就是Runtime类&#xff0c;在Runtime类里提供了获取当前运行环境的接口。那么java怎么调用Li…