在网站上看到了一个大佬提到的问题,他当时看不懂,我也是有些疑惑,然后又大佬给了解释,这里我把问题和解释都放出来,如果小伙伴看到欢迎探讨
private Class<?> clazz; public <T> Class<T> getClazz() { return (Class<T>) clazz; } 这个方法,为什么不能直接写成 private Class clazz; public Class getClazz() { return clazz; }但是在之前可能有的小伙伴不知道这个是啥, Class<?> : 是表示类型不确定的类 T 是单独的T : 代表一个类型(表现形式是一个类名而已) Class : 是代表这个类型所对应的类(又可以称做类实例、类类型、字节码文件) 大佬给了解释: public Class getClazz() 这一句前一个T规定了什么类型的类才可以调用这个方法,后一个T规定了返回值类型。
private Class<?> clazz; //泛型通配符,意思是可以赋值给clazz任何类型的Class对象
public Class getClazz() {//泛型,意思是,当调用这个方法时,就确定了T的类型 return (Class) clazz; } 解释就这么多,如果小伙伴还有更好的理解,欢迎积极评论!