Class>和Class有什么区别
看SystemBarTintManager源码,其中有
static {
Method methodGetter = null;
try {
**Class<?> sysClass = Class.forName("android.os.SystemProperties");**
methodGetter = sysClass.getDeclaredMethod("get", String.class);
sIsMiuiV6 = "V6".equals((String) methodGetter.invoke(sysClass, "ro.miui.ui.version.name"));
} catch (Exception e) {
e.printStackTrace();
} finally {
if (methodGetter != null) {
try {
sNavBarOverride = (String) methodGetter.invoke(null, "qemu.hw.mainkeys");
} catch (Exception e) {
e.printStackTrace();
sNavBarOverride = null;
}
}
}
}
其中
Class<?> sysClass = Class.forName("android.os.SystemProperties");
这里为什么用泛型,直接用Class行吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Class<?>
中的?
是通配符,其实就是表示任意符合泛类定义条件的类,和直接使用Class
效果基本一致,但是这样写更加规范,在某些类型转换时可以避免不必要的unchecked
错误。