Java泛型T - Class<?>区别 - 知乎专栏
文章推薦指數: 80 %
3.获取Class类型对象的第三个方法非常简单。
如果T是一个Java类型,那么T.class就代表了匹配的类对象。
Class clazz = List.class;.
无障碍写文章登录/注册T是一种具体的类,例如String,List,Map......等等,这些都是属于具体的类,这个比较好理解Class是什么呢,Class也是一个类,但Class是存放上面String,List,Map......类信息的一个类,有点抽象,我们一步一步来看。
如何获取到Class类呢,有三种方式:1.调用Object类的getClass()方法来得到Class对象,这也是最常见的产生Class对象的方法。
例如:Listlist=null;
Classclazz=list.getClass();2.使用Class类的中静态forName()方法获得与字符串对应的Class对象。
例如:Classclazz=Class.forName("com.lyang.demo.fanxing.People");3.获取Class类型对象的第三个方法非常简单。
如果T是一个Java类型,那么T.class就代表了匹配的类对象。
Classclazz=List.class;**那么问题来了?Class类是创建出来了,但是Class
Peoplepeople=(People)Class.forName("com.lyang.demo.fanxing.People").newInstance();看到了么,需要强转,如果反射的类型不是People类,就会报java.lang.ClassCastException错误。
使用Class
发布于2021-06-0111:05ClassJava泛型(Generic)赞同4添加评论分享喜欢收藏申请转载
延伸文章資訊
- 1How to use Class<T> in Java? - Stack Overflow
<T> specifically stands for generic type. According to Java Docs - A generic type is a generic cl...
- 2Java泛型详解:<T>和Class<T>的使用。泛型类 - CSDN博客
- 3Java中泛型Class<T>、T与Class<?> 的区别 - 51CTO博客
Java中泛型Class<T>、T与Class<?> 的区别,转https://www.cnblogs.com/zhima-hu/p/7352555.html一.区别单独的T代表一个类型,而 C...
- 4Java泛型的用法及T.class的獲取過程解析 - 程式人生
這篇文章主要介紹了Java泛型的用法及T.class的獲取過程解析,文中通過示例程式碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值, ...
- 5Java中泛型T和Class<T>以及Class<?>的理解(转) - 博客园
注意:class是java的关键字, 在声明Java类时使用; Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)(