(java) Class和Class有什么区别

看SystemBarTintManager源码,其中有
static {

 Method methodGetter = null; try { **Class<?> sysClass = Class.forName"android.os.SystemProperties";** methodGetter = sysClass.getDeclaredMethod"get", String.class; sIsMiuiV6 = "V6".equalsString methodGetter.invokesysClass, "ro.miui.ui.version.name"; } catch Exception e { e.printStackTrace; } finally { if methodGetter != null { try { sNavBarOverride = String methodGetter.invokenull, "qemu.hw.mainkeys"; } catch Exception e { e.printStackTrace; sNavBarOverride = null; } } }
}

其中
Class<?> sysClass = Class.forName”android.os.SystemProperties”;

这里为什么用泛型,直接用Class行吗?

Class<?> 中的 ? 是通配符,其实就是表示任意符合泛类定义条件的类,和直接使用 Class 效果基本一致,但是这样写更加规范,在某些类型转换时可以避免不必要的 unchecked 错误。

发表评论

电子邮件地址不会被公开。 必填项已用*标注