T和ClassT以及Class?的理解
首先看下Class类 ,普通的非泛型类Class。
注意:class是java的关键字, 在声明java类时使用;
Class类的实例表示Java应用运行时的类(class ans enum)或接口(interface and annotation)(每个java类运行时都在JVM里表现为一个Class对象,可通过类名.class,类型.getClass(),Class.forName("类名")等方法获取Class对象)。数组同样也被映射为为Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本类型boolean,byte,char,short,int,long,float,double和关键字void同样表现为 Class 对象。
T bean ;
Class<T> bean;
Class<?> bean;
在利用反射获取属性时,遇到这样的写法,对此专门查些资料研究了一下。
单独的T 代表一个类型 而 Class<T>和Class<?>代表这个类型所对应的类
Class<T>在实例化的时候,T要替换成具体类
Class<?>它是个通配泛型,?可以代表任何类型
<? extends T>受限统配,表示T的一个未知子类。
<? super T>下限统配,表示T的一个未知父类。
public T find(Class<T> clazz, int id);
根据类来反射生成一个实例,而单独用T没法做到。
Object类中包含一个方法名叫getClass,利用这个方法就可以获得一个实例的类型类。类型类指的是代表一个类型的类,因为一切皆是对象,类型也不例外,在Java使用类型类来表示一个类型。所有的类型类都是Class类的实例。getClass() 会看到返回Class<?>。
JDK中,普通的Class.newInstance()方法的定义返回Object,要将该返回类型强制转换为另一种类型;
但是使用泛型的Class<T>,Class.newInstance()方法具有一个特定的返回类型;
感谢并节选自:http://blog.csdn.net/witewater/article/details/53462385
T和ClassT以及Class?的理解相关推荐
- 通用解题法——回溯算法(理解+练习)
积累算法经验,积累解题方法--回溯算法,你必须要掌握的解题方法! 什么是回溯算法呢? 回溯算法实际上一个类似枚举的搜索尝试过程,主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就&quo ...
- stream流对象的理解及使用
我的理解:用stream流式处理数据,将数据用一个一个方法去 . (点,即调用) 得到新的数据结果,可以一步达成. 有多种方式生成 Stream Source: 从 Collection 和数组 Co ...
- Linux shell 学习笔记(11)— 理解输入和输出(标准输入、输出、错误以及临时重定向和永久重定向)
1. 理解输入和输出 1.1 标准文件描述符 Linux 系统将每个对象当作文件处理.这包括输入和输出进程.Linux 用文件描述符(file descriptor)来标识每个文件对象.文件描述符是一 ...
- java局部变量全局变量,实例变量的理解
java局部变量全局变量,实例变量的理解 局部变量 可以理解为写在方法中的变量. public class Variable {//类变量static String name = "小明&q ...
- 智能文档理解:通用文档预训练模型
预训练模型到底是什么,它是如何被应用在产品里,未来又有哪些机会和挑战? 预训练模型把迁移学习很好地用起来了,让我们感到眼前一亮.这和小孩子读书一样,一开始语文.数学.化学都学,读书.网上游戏等,在脑子 ...
- 熵,交叉熵,散度理解较为清晰
20210511 https://blog.csdn.net/qq_35455503/article/details/105714287 交叉熵和散度 自己给自己编码肯定是最小的 其他的编码都会比这个 ...
- mapreduce理解_大数据
map:对不同的数据进行同种操作 reduce:按keys 把数据规约到一起 看这篇文章请出去跑两圈,然后泡一壶茶,边喝茶,边看,看完你就对hadoop 与MapReduce的整体有所了解了. [前言 ...
- 文件句柄和文件描述符的区别和理解指针
句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数,Windows使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等.Windows句柄有点象C语言中的文件句柄. ...
- 通俗理解条件熵-数学
就是决策树里面选划分属性用到的计算 条件熵越小表示划分之后各个集合越纯净 前面我们总结了信息熵的概念通俗理解信息熵 - 知乎专栏,这次我们来理解一下条件熵. 我们首先知道信息熵是考虑该随机变量的所有可 ...
最新文章
- ServiceMesh究竟解决什么问题?
- C++ static与const用法详解
- 山西计算机等级考试科目一模拟试题,2011山西省计算机等级考试试题 二级ACCESS一点通科目一...
- Spark入门实战系列--2.Spark编译与部署(下)--Spark编译安装
- leetcode - 64. 最小路径和
- React中组件间通信的方式
- 不再惧怕!二叉树结构相关算法总结 | 原力计划
- 22号大更新网站大面积降权的原因分析
- 修改鼠标手形 闪烁 在填写文字内容后也一直在闪烁
- LayaAir destroy 销毁与 removeChild 移除节点
- 存档修改 html,制作可以修改.rpgsave存档的网页
- 用谷歌浏览器下载网页视频
- 实验三(无线局域网组成与管理实验)
- 面向接口编程思想(面向对象思想)
- 科学计算机怎么算四分位数,科学网—四分位数间距 - 贺小星的博文
- 一个在线运行的Taro小程序完整实例
- latex tex studio 表格大小 整体缩小 过长 过宽 跨栏 跨页
- PowerTool下载(“啥文件都能删,啥病毒都解决” 工具)
- linux下几种目标文件的分析
- Access 一些内部函数(Access 帮助里) .
热门文章
- JsonCpp的简单使用方法
- oracle的后缀名,oracle表空间名字的后缀 :.ora和.dbf有什么不同?
- oracle报12541错误,记录一次oracle无缘无故就无监听,报TNS-12541等错误的问题
- 多线程的实现方式_Java中线程的状态及多线程的实现方式
- wps android qq 群,手机WPS怎样发送文档给QQ?WPS怎样发送文档给QQ教程
- java 主线程_Java中的主线程 - Break易站
- php通过浏览器下载json文件遇到的问题
- navicatformysql
- 【深度学习入门到精通系列】遗传算法 (Genetic Algorithm)
- python【Matlibplot绘图库】-主要概念