invalid comparison: java.util.ArrayList and java.lang.String——bug解决办法

今天碰到个问题,解决了很久才搞定,来记录下,希望可以帮助到大家
一直报错:invalid comparison: java.util.ArrayList and java.lang.String,一直没有考虑是我后来添加的
and ascriptionId != ’ ’ 所带来的问题.
下面错误源码:

这是一个根据list集合的查找数据的 sql,在接收list的时候加了判断 list != ‘ ’ “”,引起了集合与Stirng类型的比较,故报错


解决方案: ①将判断条件改为 : list.size >0


②甚至可以考虑这样:


实际上我就是用②的方式。
另外要说明一点#{}和美元符号的用法区别,我这里简单赘述几句,美元符号是原样输入;而#{}是根据传参的类型决定。
我在这个地方就不能用#{},因为page里面没有那个get方法,总是报错: org.apache.ibatis.reflection.ReflectionException: There is no getter for property named ‘__frch_item_0’ in ‘class com.fh.entity.Page’!

你可能感兴趣的:(【踩过的坑】)