反射 通过class字节码获取类信息,所以Class对象是唯一的 class外部类,接口,数组,枚举,注解,基本数据类型,void都是有Class对象的,泛型信息需要子类继承获取 //获取Class的三种方式 Class studentClass = Class.forName("Student")
注解 作用 用作于注释 可以被程序读取 元注解 处理注解的注解,一共有四个 @Target(value = ElementType.TYPE) @Retention(value = RetentionPolicy.RUNTIME) @Documented @Inherited @interface
泛型类型擦除 运行时所有的T以及尖括号会被擦除 导致List和List<String>是一个类型 所有代码声明的变量或参数,接口运行时可以通过反射翻去泛型信息 但是运行时候创建的对象反射也拿不到,class文件里面没有 可以使用创建子类生成的对象的class中获取,Gson的TyoeToken就是这
泛型方法 泛型方法,方法拥有自己独立的泛型类型 <T> T set(T t) { return t; } 此泛型类型与类里面尖括号的泛型类型无关,是独立的,好处是可以做类型检查与类型强转,比如我们的Android的findviewbyId() @Nullable public <T ext
泛型的实例上界与下界 编译报错,主要原因是,fruit是可以添加香蕉,苹果等水果的,但是实例就只给了Apple的List, 编译前报错 我们可以通过强转来避免避免报错,添加Banana运行时也不会报错,这实际上是一个很严重的bug,我们明明是一个Apple的实例却装了香蕉 ,为什么运行时会不报错,主
泛型的使用 泛型目的 1.帮助检查代码中的类型,提前报错 2.自动强转 3.增加类的拓展性,使得类更加灵活,复用性高 4.这个类型的不同实例的具体类型可能会有不同,针对是实例,因此静态字段和静态方法不能使用泛型类的类型参数 什么时候使用泛型 1.当了一个类,其中一个属性是是多变类型的时候可以使用,
链表 141 带环链表 这个题目有点东西,感觉有点难想,官方给的题解是 快慢指针,快指针一次走两步,慢指针一次走一步,当快指针与慢相等时表示有环, 其意思是,快指针一直走在慢指针前面,假若有环,当慢指针进入环后,就可以表示为,快指针慢指针后面,并且在追赶慢指针,当快指针在慢指针后面时,一定有机会相等
这就是我
文章
分类
访问量
建站天数
标签目录
最近评论