现在我得到一些如下所示的日志(log-1)
java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams cannot be cast to ClassA$1
at android.widget.LinearLayout.measureHorizontal(LinearLayout.java:1010)
...
第1010行
final LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) obj.method();//line 1010
我认为,日志应该是这样的(log-2)
java.lang.ClassCastException: ClassA$1 cannot be cast to android.widget.LinearLayout$LayoutParams
我想知道为什么我会得到log-1,是不是? 如果log-1是正确的,那么我如何编写代码来创建这样的异常?
ps:我知道ClassA $ 1是一个匿名类 ps:我在猴子测试中得到了这个日志,而且很难重新出现
有人告诉我:MyInterface my = ClassA$1;//$1 is an anonymous class which implements MyInterface
my.getClass().cast(lp);
然后日志就像log-1
但为什么日志没有指出“演员”方法线呢?
我检查文件夹框架/ base / core,没有人调用方法“?java.lang.Class.cast(Object obj)”
任何想法?
答案 0 :(得分:2)
我无法想到这种行为的合理解释。如果事实与您报告的一样,那么我同意错误消息文本是错误的方法。
那么有哪些替代方案?
我的建议是: