为了账号安全,请及时绑定邮箱和手机立即绑定

Class<?>和Class有什么区别

Class<?>和Class有什么区别

慕莱坞森 2019-03-21 18:15:57
看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行吗?
查看完整描述

1 回答

?
holdtom

TA贡献1805条经验 获得超10个赞

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


查看完整回答
反对 回复 2019-04-16
  • 1 回答
  • 0 关注
  • 1235 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号