首页 > 编程语言 >invalid comparison: java.util.ArrayList and java.lang.String 异常分析及解决方法

invalid comparison: java.util.ArrayList and java.lang.String 异常分析及解决方法

时间:2023-04-18 14:13:57浏览次数:35  
标签:lang comparison java String list util

nvalid comparison: java.util.ArrayList and java.lang.String 异常解决方法
异常原因
首先我们可以确定是在mybatis的xml中的 list 操作出现错误
然后发现在接收 list 的时候加了判断 list !=’’ ,导致 list(数组集合类型)和空字符串(字符串类型)进行比较,故报错
解决办法,对于list类型进行判空时,可以使用size()方法,查看列表中的元素个数。
错误
如下:

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

正确

如下:

<if test="relationIdList != null and relationIdList.size() > 0">
    and relation_id in
    <foreach collection="relationIdList" item="item" open="(" close=")" separator=",">
    #{item}
    </foreach>
</if>

注意点:

// 列表中元素的个数 > 0 
relationIdList.size() > 0

 

标签:lang,comparison,java,String,list,util
From: https://www.cnblogs.com/lemperor/p/17329330.html

相关文章

  • Java环境与Eclipse SDK安装涉及的环境变量调试,java环境配置
    资源包请自己下载。文本太大,我传到百度了。https://pan.baidu.com/s/1p6aFDOeXWULnK8STdQkwmw  这是地址资源地址小白师从高中老班长祯淮大哥,偷师于网页中的他人经验,因此,先说声谢谢他人的经验分享,为了记录学习过程,方便整理知识,做了以下学习分享。有错请大神指出。 这是我装好的......
  • java-spi
    不解释spi是啥了啊,就简单来看看他的作用吧。在java中,我们可以定义一个接口,然后通过具体的类来实现接口从而完成某种功能。 这是典型的面向接口编程思维。这样做肯定没问题,但是接下来介绍一个新的方式来实现这个功能。就是java提供的spi机制。我这里创建两个OrderService的实现,......
  • JAVA中文件写入的6种方法(转)
    https://www.cnblogs.com/rinack/p/14173936.html在Java中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。......
  • JAVA泛型擦除
    目录Java泛型直观看擦除泛型实现的相关定义树节点JCTypeParameter(类型参数树节点):JCWildcard(通配符树节点):类型ForAll(含有泛型变量声明的方法类型,主要辅助进行类型推断)泛型相关抽象语法树的生成抽象语法树生成解析类、接口、枚举的定义类声明解析参数化类型解析抽象语法树泛......
  • JavaScript 内的 this 指向
     在javascript语言中,有一个奇奇怪怪的"关键字"叫做this● 为什么说它是奇奇怪怪呢,是因为你写出100个this,可能有100个解释,完全不挨边● 但是,在你的学习过程中,搞清楚了this这个玩意,那么会对你的开发生涯有很大帮助的● 接下来咱们就开始一点一点......
  • JAVAC编译流程
    目录Javac编译过程入口java源代码词法分析->token流语法分析->抽象语法树语义分析->标注语法树AttrFlowLower代码生成->字节码Javac编译过程入口来源:com.sun.tools.javac.main.Main#compile(java.lang.String[])publicintcompile(String[]args){//创......
  • 论 java.net.SocketException: sendto failed: EPIPE (Broken pipe) 的解决办法
    这里只是针对我昨天遇到的问题(上传文件过大,导致出现Socket异常)的解决办法。众所周知,tomcat是有默认的文件传输大小限制的(跟android前端),后来跟服务器的哥们协调了一下,他那边改成多少都不管用,这是其一。其二是后来查google得知,tomcat设置服务器的超时时间,后来还是一样,设置成多少都不......
  • [Maven] The JAVA_HOME environment variable is not definded...... 配置错误日志
    ...因为是第一次配置Maven,所以出现了很多错误所以列举一二。出现找不到Java_Home环境变量的时候,如图。这个时候可能是,你的Java_Home路径配置错误,在Java_Home路径中,将\bin删掉,在path后面跟\bin,如%java_home%\bin,而不是直接在java_home中直接写死。......
  • java 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接
    通过java程序调用sqlserver数据库,报错驱动程序无法通过使用安全套接字层(SSL)加密与SQLServer建立安全连接。错误:“TheserverselectedprotocolversionTLS10isnotacceptedbyclientpreferences[TLS12]”。ClientConnectionId:9c0c766b-97d5-41c6-884e-1ecbdefbac0......
  • golang打包和部署到centos
     项目在golang开发好,打包上传到linux服务器运行,两步:1、打包;在控制台项目于目录下,执行下列命令setGOOS=linuxsetGOARCH=amd64gobuild -o"packageName"如下图所示:会生成一个没有后缀的二进制文件main2、生成main文件上传到Linux服务器运行;上传操作在前面mysql配......