说明:
本人使用的是groovy语言,但是可以很好兼容java,只不过相对于java,它是一种弱类型语言
情况:
对某个空串的判断,为空,则不加单位,截图如下,需要截取“Distance(m):"后的数据

原来脚本:
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.youkuaiyun.com/andyzhaojianhui/article/details/84324466

本文探讨了在使用Groovy语言处理字符串时遇到的兼容性问题,特别是针对空串判断逻辑的错误处理。通过对比两种不同的脚本实现,解释了为何原始脚本会导致异常,并提出了修正方案。
512

被折叠的 条评论
为什么被折叠?



