昨天下午遇到了一个bug,增强for循环的时候,控制台说的是ClassCastException,类型转换异常,但是我并没有做类型转换啊,去哪来的ClassCast,然后就先是反复看了代码,没问题,然后debug,list也查到了,点开几个看了看并且也都有值,然后我又看了看for里边的代码,类型和声明的List的泛型一致, 变量obj也没问题,冒号后的list 也有值,去哪能转换异常呢?卡了一会儿,然后让我对面的大哥(三年经验),来给我看了看,结果人家直接就把debug的list点开了,我还在旁边说,这个能取到值,结果他给我指了指
马赛克的地方,说list里的对象,和泛型定义的对象不一致,就造成了增强for的类型转换异常,我瞬间就明白了,因为泛型里的是Class,而这个Class有别名,mapper在映射的时候,别名不对应了,就造成了这个异常,卧槽,我还点开了好几个list看了,竟然都没有看到,这眼睛,有点小不管事儿啊........
就是这个type造成的。为啥我没看到list的那个元素类型呢?为啥呢?