动态代理异常com.sun.proxy.$Proxy0 cannot be cast to
来源:互联网 发布:软件开发岗位 编辑:程序博客网 时间:2024/06/18 15:32
本人在学习动态代理的时候,做了些练习,结果报出了 Exception in thread "main" java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to异常;
与网上其他人写的例子进行仔细对照,发现了原来
改回来后就运行成功了。
特意在网上查了一下,发现自己的知识点还是比较薄弱,同时也手动测试了自己的一些猜想,如下
Work.class == new Work().getClass() 是相等的,所以同理可得:Work.class.getClassLoader() == new Work().getClass().getClassLoader() 也相等
然而,有一个坑就是我上图片写的 Work work = new Hello();
这里 System.out.println(work.getClass.getName(),输出为 "Hello";
以前一直以为父类指向子类或“强转”后实例的类型是会转变的,但测试后发现Class并没有变化,所以我猜测类型是不会变的。
本人以为 new Work().getClass()是Work的Class对象,殊不知获得的是子类Hello的Class对象。
回到主题:这次出现异常的主要原因不是方法的第一个参数出现问题,而是第二个参数!
Class.getInterfaces() 主要作用是获取某类所实现的接口所有接口,返回值Class<?>[] ,而我。。。哈哈竟然是获取接口的接口,所以出错了,有兴趣的朋友可以遍历输出所有接口的Class。
另外,我在上网查问题的时候也发现了一个朋友遇到过同样的异常,但他的异常原因是:代理类没有实现接口,而是实现了某一基类。大家要注意了哦。
- 动态代理异常com.sun.proxy.$Proxy0 cannot be cast to
- Java动态代理 报 com.sun.proxy.$Proxy0 cannot be cast to ** 的错误
- Spring:com.sun.proxy.$proxy0 cannot be cast to XXX
- com.sun.proxy.$Proxy0 cannot be cast to ** 解决方法
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- java.lang.ClassCastException: com.sun.proxy.$Proxy0 cannot be cast to java.sql.Connection异常问题解决
- com.sun.proxy.$Proxy29 cannot be cast to
- com.sun.proxy.$Proxy25 cannot be cast to SessionImplementor
- com.sun.proxy.$Proxy4 cannot be cast to spring.HelloService
- Spring com.sun.proxy.$Proxy6 cannot be cast to
- Spring:com.sun.proxy.$Proxy6 cannot be cast to
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...
- 解决spring使用动态代理类型转换失败的问题--java.lang.ClassCastException: com.sun.proxy.$Proxy$ cannot be cast to ...今天
- ClassCastException: $Proxy0 cannot be cast to (com......) 的解决办法
- java动态代理和com.sun.proxy.$Proxy0源码解析
- java.lang.ClassCastException: com.sun.proxy.$Proxy* cannot be cast to***问题解决方案
- java.lang.ClassCastException: com.sun.proxy.$Proxy27 cannot be cast to com.bbk.n002.service.Question
- 链表算法
- 欢迎使用CSDN-markdown编辑器
- windowchuanCAN
- 处理Portal无法访问一例
- JSON Web Token (JWT)
- 动态代理异常com.sun.proxy.$Proxy0 cannot be cast to
- jmap -histo 命令 脚本
- 将博客搬至CSDN
- R语言某一年各省各月份天气数据爬取
- 多渠道打包机制
- 在flask中使用jsonify和json.dumps的区别
- 用rviz显示urdf模型
- Angular是MVC还是MVVM
- Runtime类