求解大佬!java 中Class<?> 中的?代表什么意思?

java 中Class<?> 中的?代表什么意思


PIPIONE
浏览 415回答 2
2回答

海绵宝宝撒

给你举个例子,Class<Integer> cla;与Class<?> cl;前一个表示cla只能指向Integer这种类型,而后一个cl表示可以指向任意类型。cla = Integer.class 可以,但cla = Double.class就不可以。但是cl = Integer.class 可以,cl = Double.class也可以 、?是通配符。

慕容3067478

泛型是指规定一定的类型。Class是泛型 Class是不确定类型,一般来说没什么区别,还有一个就是Class类型,没有泛型。 但是有时候会有点点区别,比如定义这种类型变量,这里的Class首字母需要大写,因为java中class是关键字,希望注意。例如:Class a;Class b; Class c; 这三个变量,区别在于接受不同类型。 只有T可以接受泛型,其他一样。 Class b; 可以写为具体类型Class泛型都是在编译期的,就是要把类型错误处理在编译期,减少在运行时类型异常在运行时泛型都会被擦除,就跟没泛型一个样,所以完全看你如何定义,编译时不报错就好。
打开App,查看更多内容
随时随地看视频慕课网APP