关于 [java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean],结合例子

说明:

本人使用的是groovy语言,但是可以很好兼容java,只不过相对于java,它是一种弱类型语言

情况:

对某个空串的判断,为空,则不加单位,截图如下,需要截取“Distance(m):"后的数据

关于 [java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean],结合例子_第1张图片

原来脚本:

 if( !distance.endsWith(")") && !distance.endsWith("m") && distance != null && distance.length() != 0) {
    distance = distance + 'm';
}

报错:采集异常。异常信息[java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean]

后来改脚本:

if(!distance.endsWith(")") && !distance.endsWith("m") && distance != null && distance.toString().length() != 0) {
    distance = distance + 'm';
}

异常解决。Integer是int的封装类,没有length()这个方法,具体介绍,可以参看这篇博文:
https://blog.csdn.net/andyzhaojianhui/article/details/84324466

你可能感兴趣的:(技术总结,日常工作)