使用泛型方法在Java中安全地进行强制类型转换

在Android里面,如果要用一套代码对应多套布局,有时需要做一些类型转换,每次try,catch代码不美观,于是弄了一个Utils类来处理:

public static  T safeTypeConvert(Object obj, Class clazz) {
        if (obj == null) {
            return null;
        }

        T retObject = null;
        try {
            retObject = clazz.cast(obj);
        } catch (ClassCastException e) {
            // silent
        }
        return retObject;
    }

使用方式:

SquareMaskView view = CommonUtils.safeTypeConvert(picture, SquareMaskView.class);
            if (view != null) {
                //
            } else {
                //
            }


你可能感兴趣的:(Android)