最近挺忙,没时间写长篇大论了
昨天工作上遇到一个问题,记录并分享下
关于类型转换报错,大家应该都不陌生,昨天一个websphere环境下报了一个错,日志如下:
java.lang.ClassCastException: java.lang.String incompatible with java.util.List
阅读到这的时候,很容易就想到是string强制转换成list出的错,于是按此思路解决之...
回头又一想,不对啊, incompatible with这个信息从来没见过,类型转换错误的信息不是can't cast to什么的吗?
于是在eclipse的环境下简单写了string强制转换成list的代码,确实是ClassCastException,但是没有 incompatible with的错误信息,怎么写也无法让异常提示出 incompatible with
然后做了一个大胆的猜测,这种错误信息只有在websphere环境下才会提示,本质上是一个错,于是做了如下测试
先是在eclipse下随便写了个转换异常:
然后搭建websphere中间件环境,简单写了个jsp文件,还是上面的错误代码,异常中出现了 incompatible with:
好吧,或许你觉得很无聊~
具体原因没分析过,可能是IBM自己的JVM就是会报这个错吧