qq_44543508
宜春
2019-11-01 09:21

Class<T>、Class引发的小故事,大佬大佬快进来QAQ,help!!!

  • spring
  • java
  • maven
  • intellij-idea
  • java-ee

String.class 的类型是 Class< String >
因class是关键字, 所以类名.class编译时确定。而getclass()是某个具体的方法来调用,是运行时根据实际实例确定,getClass()是动态而且是final的。

基本数据类型的封装类还可以通过.TYPE 的方式获取其 Class 对象,但要注意。TYPE 实际上获取的封装类对应的基本类型的 Class 对象的引用。

问题1、Class< T >就是Class类,只不过是类型为T的类,所以Class< T >可以叫做是类实例、类类型但是还可以叫字节码文件?

问题2、 Class< T >和Class类是同一者,只是前者的类类型为T,这个我没理解错吧?

问题3、明明用.class方法就可以获取对应的class字节码对象,为啥基本类型包装类还要用.TYPE方式去获取?可不可以就只用.class方式获取?(而且.TYPE方式获取的还是对应的基本类型的 Class 对象的引用,并不是class对象)

 public static final Class<Integer>  TYPE = (Class<Integer>) Class.getPrimitiveClass("int");
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答