invalid comparison: java.util.ArrayList and java.lang.String解决

报错:

Caused by: org.apache.ibatis.exceptions.PersistenceException: 
### Error querying database.  Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.ArrayList and java.lang.String

原因:

我的orderStates是一个数组格式,我此处判断的是 orderStates!=null,故报错。应该改成orderState.size()>0

<if test="orderStates !=null and orderStates!=''">
      AND State in
        <foreach collection="orderStates" item="state"  open="(" separator="," close=")" >
            #{state}
        </foreach>
    </if>

正确书写如下:

<if test="orderStates !=null and orderStates.size > 0">
      AND State in
        <foreach collection="orderStates" item="state"  open="(" separator="," close=")" >
            #{state}
        </foreach>
    </if>
原文地址:https://www.cnblogs.com/yangyuke1994/p/10454602.html