根据参数类型,设置返回类型

protected <T> T getBookByClass(Class<T> clazz, T deffault) {
        T result = null;
        if (deffault instanceof BookA) {
            BookA book = (BookA)deffault;
            result = (clazz.cast(book));
        } else if (deffault instanceof BookB) {
            BookB book = (BookB)deffault;
            result = (clazz.cast(book));
        } else if (deffault instanceof BookC) {
            BookC book = (BookC)deffault;
            result = (clazz.cast(book));
        }
        if (null != result) {
            return result;
        }
        return deffault;
    }

 

Guess you like

Origin blog.csdn.net/JavaAlpha/article/details/103072753