java反射中asSubclass方法

Class<?> asSubClass(Class<?>)这个方法是什么意思呢?

从名字上看貌似是将调用的Class转成括号内的Class的子类,但是正好是反的。。。。

这个方法的作用是:父类作为参数,将父类转化为子类。

Class<List> clazz=List.class;
		Class<?extends List> subclazz=ArrayList.class.asSubclass(clazz);
		System.out.println(subclazz.getCanonicalName());

通常在向某些参数严格限制的API传递参数时,为了避免产生编译警告,这个方法比较有用!

你可能感兴趣的:(java反射中asSubclass方法)