java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to *

JavaJDK动态代理报错。

javaJDK动态代理是Java原生代理模式。

 注意:JDK动态代理是代理的接口,因此强制转换应该转换为接口,而不是实现类,若强制转换实现类就会抛出ClassCastException,好比ArrayList与LinkedList实现统一接口List,两者也不能相互转换,但都可以向上转型。

正确的转型方案:

         //创建处理器对象
        ProxyManager manager = new ProxyManager(dao);
        //生成动态代理对象
        // DAO o = (DAO) Proxy.newProxyInstance(dao.getClass().getClassLoader(), dao.getClass().getInterfaces(), manager);

感谢您的采纳或批评建议。

你可能感兴趣的:(Exception笔记,Java成长之路,精装Java)