现在我得到一些如下的日志(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
但为什么日志没有指出“cast”方法行?
我检查了文件夹frameworks/base/core,没有人调用方法“?java.lang.Class.cast(Object obj)”
有什么想法吗?