首页 > 编程语言 >mybatis出现错误 java lang NumberFormatException:For input string:A1

mybatis出现错误 java lang NumberFormatException:For input string:A1

时间:2023-10-03 14:02:59浏览次数:45  
标签:lang map java string 泛型 报错 test String

使用mybatis,当使用map传参并且在if test判断时使用map中所传的参数时,可能会产生如题的报错,具体报错信息见下图:

mybatis出现错误 java lang NumberFormatException:For input string:A1_java

分析这个错误,自己调试也找过度娘,“坚信”自己代码并没问题,但是问题始终无法解决。最后在一个帖子看到说if test判断时,传入的参数跟匹配的值类型必须一致,于是调整了自己代码,最终解决问题。

报错代码如下图所示:

mybatis出现错误 java lang NumberFormatException:For input string:A1_java_02

修改后正确运行的代码如下:

mybatis出现错误 java lang NumberFormatException:For input string:A1_泛型_03

错误原因:

个人认为mybatis里面if test中使用==时应该等同于java比较两个不同变量是否相同时的逻辑,如果传入的参数为基本类型,则==不会出问题。但是如果传入参数是引用类型时,则会存在因类型不一致而在比较时报错。

拿我自己这个错误来说,因为我用map传参,但是map中value值的泛型我使用的是String类型,这样if test比较时,传入的参数类型为String,而'A1'泛型相当于是Object,此时直接用==比较,显然会出现错误。而将'A1'使用java.lang.String的toString()方法转换后,二者就可正常比较了。因此问题得以解决。

如果不想用toString()方法转换,则将map中value的泛型改成Object,也可以解决这个问题。

 

标签:lang,map,java,string,泛型,报错,test,String
From: https://blog.51cto.com/u_16271212/7691830

相关文章

  • JavaScript(一)
    javascript的组成:ECMAScript和WebAPIs(DOM、BOM) 注释:ctrl+/单行注释shift+alt+a块注释 js的输入输出语法:输出document.weite("hello")//可以带标签,在body内输出alert('alert')//弹窗警告console.log("hello")//控制台输出​输入letname=prompt("你叫:")​//aler()和pro......
  • java---多线程[(重点)上]
    15.1概念以前写的程序都是单线程,main方法程序称为主线程,主线程的结束所有的子线程都会跟着结束。多线程就代表着一个程序可以去做多件事情。线程:一个程序去做多件事情,每件事情由一个线程去完成。进程:一个进程由多个线程组成,一个进程至少有一个线程。一个进程就是一个应用程序多线......
  • LangChain大模型应用开发指南-AI大模型衍生的新能力
    LangChain大模型应用开发指南-AI大模型衍生的新能力上节课,我以传统应用编程设计模式和思维为入口和对比对象,介绍了LangcChain中的Chain、Agent、Callback三大核心概念,并整理了LangcChain为众多开发者内置的能力与工具。没有看过的小伙伴可以点击链接查看:大模型OpenAI标准接口封......
  • java——mysql随笔——运维——日志
    黑马:https://www.bilibili.com/video/BV1Kr4y1i7ru?p=154&vd_source=79bbd5b76bfd74c2ef1501653cee29d6 csdn:https://blog.csdn.net/weixin_44904239/article/details/130379510 ================================================================================......
  • java 通过行为参数化传递代码,来解决不断增长的需求
    1,通过定义不同的谓词接口来区分不同的苹果的重量,如果后续有更多的需求,只需要添加更多的谓词即可packageorg.example;importjava.util.ArrayList;importjava.util.List;enumColor{RED,GREEN,YELLOW}classApple{privateIntegerweight;private......
  • Java的HashMap用法
    一、HashMap了解HashMap是Java中常用的集合类之一,它实现了Map接口并继承自AbstractMap类。HashMap使用哈希表来存储键值对,通过将键映射为哈希码来进行高效的插入、查找和删除操作。以下是HashMap的常见用法和特点:键值对:HashMap允许存储任意类型的键和值。可以通过键来查......
  • java断点下载文件(整合多线程)
    技术介绍:断点下载指的是在文件下载过程中,如果下载中断或失败,比如下载到一半的时候停电了、断网了、不小心退出下载界面了等等,下一次进入下载页面可以从中断或失败的位置继续下载,而无需重新开始下载整个文件。 (注意:本文通过本地文件的拷贝来模拟文件传输的断点过程) 核心想法......
  • 基于Java的高校学生综合测评管理系统的设计与实现(亮点:选课、课程评分、各类活动申请
    (高校学生综合测评管理系统)二、我的优势2.1自己的网站网站上传的项目均为博主自己收集和开发的,质量都可以得到保障,适合自己懂一点程序开发的同学使用!2.2自己的小程序(小蔡coding)<imgsrc="https://img-blog.csdnimg.cn/img_convert/3df3eff92652bb0959df5e3d738d05c9.png"......
  • java本地文件多线程拷贝
    简单介绍:本地文件多线程拷贝是指通过多个线程同时进行文件复制操作。传统的文件复制操作往往是串行进行的,当需要复制单个大文件时,复制速度往往会比较慢。而采用多线程进行文件拷贝可以提高效率。通过同时创建多个线程,每个线程负责复制不同的文件或者不同的文件片段,可以充分利用计......
  • Golang struct 结构体 面向对象编程思想-抽象 理解抽象
    我们在前面去定义一个结构体时候,实际上就是把一类事物的共有的属性(字段)和行为(方法)提取出来,形成一个物理模型(模板),这种研究问题的方法称为抽象。当你将一类事物的属性和行为抽取出来之后,下一步就是将代码体现出来。下面就是模拟银行卡存款取款查询余额方式。packagemainimport"fm......