java.lang.NumberFormatException 错误及解决办法

2023-10-27

总结几个java.lang.NumberFormatException 错误及解决办法方法

转载https://blog.csdn.net/xiaodongvtion/article/details/8835668/

转载https://blog.csdn.net/yxh6533/article/details/79376821

第一种

1. package com.geelou.test;

2. 

3. public class ErrTest {

4.    public static void main(String[] args) {

5.       String numString = "1 ";

6.       System.out.println(Integer.parseInt(numString));

7.    }

8. }

   

    错误提示信息如下:

   

Exception in thread "main" java.lang.NumberFormatException: For input string: "1 "

    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

    at java.lang.Integer.parseInt(Integer.java:458)

    at java.lang.Integer.parseInt(Integer.java:499)

    at com.geelou.test.ErrTest.main(ErrTest.java:6)

 

    错误关键字 java.lang.NumberFormatException 这句话明确告诉了我们是数字格式异常,接着后面有 For input string: "1 " 提示,这就告诉我们你当前想把 "1 " 转换成数字类型时出错了,这样就很确切了。

 

    具体是哪个类的哪个方法的哪一行的错误了,看下面错误堆栈,找自己写的第一个类com.geelou.test.ErrTest.main(ErrTest.java:6) 原来是  com.geelou.test.ErrTest 类的main方法里的第6行出错了。

 

    这样就定位到了System.out.println(Integer.parseInt(numString));具体是 Integer.parseInt(numString) 时出的错,知道了错误地方就可以相应的解决了 


 

    解决办法很简单,改成 Integer.parseInt(numString.trim()) 就可以啦 

第二种

在调用StringUtils.split()和Integer.parseInt()时经常遇见这样的问题,不管传入的参数的值是什么,都能进入不为null或”“的判断中,然后就运行执行下面的代码,就可能出现 java.lang.NumberFormatException: For input string: "null"的异常,提示出现问题的位置在“Integer id = Integer.parseInt(idStr);”这是因为如果传入给Integer.parseInt()的值为空或者StringUtils.split()对空字符串进行切割无意义。如果传入的值不为null或“”可以正常运行不报错,如果为空值就会出现任如下异常。

[html]  view plain  copy
  1. by: java.lang.NumberFormatException:<u> </u>For input string: "null"  
  2.     at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)  
  3.     at java.lang.Integer.parseInt(Integer.java:580)  
  4.     at java.lang.Integer.parseInt(Integer.java:615)  
这里的
[html]  view plain  copy
  1. For input string: "null"  
并不是指传入的值为空,而是指传入的字符串为“null”,而“null”并不能被 StringUtils.split()切割,进而不能被Integer.parseInt()调用,所以会报错。
[html]  view plain  copy
  1. if(customerIdStr != null && !customerIdStr.equals("") ){  
  2.             String[] customerIds = customerIdStr.split(",");  
  3.             //将字符串客户ID 转换为整数ID  
  4.             for (String idStr : customerIds) {  
  5.               Integer id = Integer.parseInt(idStr);  
  6.                 customerRepository.updatefixedAreaId(fixedAreaId,id);  
  7.             }  
  8.         }else{  
  9.                 return;  
  10.         }  
所以只需要在上面的判断语句后面再加一个判断传入的参数是否不为“null”的条件即可解决此类异常问题。
[html]  view plain  copy
  1. if(customerIdStr != null && !customerIdStr.equals("") && !customerIdStr.equals("null")){  
  2.             String[] customerIds = customerIdStr.split(",");  


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java.lang.NumberFormatException 错误及解决办法 的相关文章

  • const_cast

    const cast是一种C 运算符 主要是用来去除复合类型中const和volatile属性 没有真正去除 变量本身的const属性是不能去除的 要想修改变量的值 一般是去除指针 或引用 的const属性 再进行间接修改 用法 const
  • 烂泥:查看服务器的BIOS是否开启CPU虚拟化

    本文由秀依林枫提供友情赞助 首发于烂泥行天下 有关CPU是否支持虚拟化 我们可以通过相关的命令和软件进行查看 在windows系统下 我们可以使用CPU Z这个软件 如下图 在linux系统下 我们可以通过查看 proc cpuinfo文件
  • Python图像处理之图片文字识别(OCR)

    OCR与Tesseract介绍 将图片翻译成文字一般被称为光学文字识别 Optical Character Recognition OCR 可以实现OCR 的底层库并不多 目前很多库都是使用共同的几个底层OCR 库 或者是在上面进行定制 T
  • Python自动化处理邮件

    Python处理QQ邮箱邮件 以Chrome浏览器为例 需下载chromedriver exe下载地址 根据自己电脑上的Chrome版本下载相应的chromedriver exe 打开的Chrome浏览器主界面的地址栏输入网址 chrome
  • 计算机原理-数据

    数据 二进制 十进制 人类use 十六进制 2 4 16 是权 1011 011 2 3 0 2 2 2 1 2 0 0 2 1 1 2 2 1 2 3 8 0 2 1 0 0 25 0 125 27 375 七进制转十进制 权不一样 60
  • Centos7离线安装MySQL

    前言 离线安装的方式 很多人 包括我自己是很难的 yum的方式简单轻松 作者之前离线安装oracle的时候 因为关键的rpm包不齐 通过查安装日志一个一个的下离线包 反复安装3天才完成离线模式安装 今天总结下MySQL的离线安装步骤 环境
  • 【Unreal】TArray与std::vector之间转换

    std vector data 返回一个指向内存数组的直接指针 该内存数组由vector内部用于存储其拥有的元素 TArray GetData 同理 FMemory Memcpy 则将指定位置和大小的数组的内存空间拷贝 覆盖 到另一处指定的
  • 第五周课程总结&试验报告(三)

    Java实验报告 班级 计科二班 学号 20188423 姓名 邹健 完成时间 2019 9 27 评分等级 实验三 String类的应用 一 实验目的 1 掌握类String类的使用 2 学会使用JDK帮助文档 二 实验内容 1 已知字符
  • Vcpkg介绍及使用

    Vcpkg用于在Windows Linux Mac上管理C和C 库 极大简化了第三方库的安装 它由微软开源 源码地址 https github com Microsoft vcpkg 最新发布版本为2023 04 15 Release 它的
  • 【译】Filed Play:简介

    引子 在尝试数学函数可视化的时候 发现了一个有趣的库 Field Play 对 README 中的说明进行部分翻译记录 做个初步了解 Origin My GitHub What 让我们为网格上的每个点指定一个向量 1 0 这意味着我们有一个
  • JavaScript Function、函数声明、函数表达式

    JavaScript Function 函数声明 函数表达式 Function 对象 Function 构造器会创建一个新的 Function 对象 在 JavaScript 中每个函数都是一个 Function 对象 使用 Functio
  • 智能指针之unique_ptr(删除器、尺寸)08

    一 unique ptr 1 unique ptr删除器 unique ptr和shared ptr一样 默认删除器都是使用delete 所以当我们创建的是一个数组或者文件这些时 显然delete是无法有效回收的 删除器是一个可调用对象 其
  • 深入分析移动构造函数及其原理

    移动构造函数是C 11中新增加的一种构造函数 其作用是提高程序性能 今天我们就细扒一下它的工作原理 看看它是怎么提高性能的 移动构造函数的由来 在讲解移动构造函数之间 我们先来了解一下在没有移动构造函数之前哪里有性能瓶颈吧 我们来举个例子
  • Node =>Express学习

    1 Express 能做什么 能快速构建web网站的服务器 或 Api接口的服务期 Web网站服务器 专门对外提供Web网页资源的服务器 Api接口服务器 专门对外提供API接口的服务器 2 安装 在项目所处的目录中 运行以下命令 简装到项
  • linux安装jenkins与配置

    简要介绍 jenkins是一个开源软件项目 是基于java开发的一种持续集成工具 用于监控持续重复的工作 旨在提供一个开放易用的软件平台 使软件的持续集成变成可能 语言 Java 一句话描述 持续集成工具 CentOS 7 6 1 安装Op
  • 6 个以假乱真的AI自动配音工具介绍

    6 个以假乱真的AI自动配音工具介绍 用 AI 重新配音 完美骗过各大视频平台的原创保护机制 但这个机器声音味儿太冲 而类似的声音已经快把全国人民包围了 家人们藏不住了 完了芭比Q了 这个男人叫小帅 这个男人叫小美 所以我们很想盘点一下 这
  • 进化优化算法--第二章:爬山法

    算法2 1 最快上升爬山法 x0 lt 随机生成的个体 while not 终止准则 计算x0的适应度f x0 For 每一个解的特征 q 1 2 n xq lt x0 用一个随机变异替换xq的第q个特征 计算xq的适应度f xq 获取下一
  • ChatGPT-4下周要来了

    昨天的一则新闻引起了轰动 微软德国首席技术官 Andreas Braun 在最近一次名为 AI in Focus Digital Kickoff 的活动中透露了这一消息 根据 Braun 的说法 我们将在下周推出 GPT 4 我们将拥有多模
  • npm ERR! code EINTEGRITY npm ERR! sha1-BO3IiUkrA6RF56xm6SJqcBdcqKA= integrity checksum failed when u

    npm ERR code EINTEGRITY npm ERR sha1 BO3IiUkrA6RF56xm6SJqcBdcqKA integrity checksum failed when using sha1 wanted sha1 B
  • 基于 MATLAB 的时间卷积神经网络(TCN)数据回归预测

    基于 MATLAB 的时间卷积神经网络 TCN 数据回归预测 时间卷积神经网络 Temporal Convolutional Network 简称 TCN 是一种基于卷积神经网络的模型 可以有效地处理时间序列数据 并具备较强的建模和预测能力

随机推荐

  • 变量键盘读取、数组与声明:read、array、declare

    变量键盘读取 数组与声明 read array declare 1 read root linux read pt variable 参数 p 后面可以接提示符 t 后面可以接等待的 秒数 范例一 让用户通过键盘输入内容 将该内容变成ate
  • Jdbc 连接MYSQL数据库代码模块

    获得数据库连接的四个步骤 Class for com mysql cj jdbc Driver 由于使用的是MYSQL 8 所以必须要使用相应的驱动 相比于mysql connector java 5 1 47 tar 在jar包中Driv
  • Grafana图表配置快速入门

    1 Grafana图表配置快速入门 前面我们使用 Prometheus Grafana 实现了一个简单的 CPU 使用率变化图 但是这个图还有许多缺陷 例如 左边栏的数值太小了无法调整 下面的图标信息无法定制化等等 其实 Grafana 的
  • ifconfig出现command not found解决办法

    问题 说下我linux配置情况 不一样的可以选择借鉴我的办法 在虚拟机中以最小化方式安装centos7 ifconfig命令无效 而且在sbin目录中没有ifconfig文件 原因 这是因为centos7已经不适用ifconfig命令了 已
  • vue监听一个对象的多个属性

    可以分开监听 但是不能深度监听 不能监听对象 只能 监听属性 如果监听对象 直接在handler外层加上对象名就可以了 下面加deep和immediate都为true watch lineType t console log t rowTy
  • RT-Thread记录(十四、I/O 设备模型之ADC设备)

    RT Thread ADC 设备学习使用 目录 前言 一 ADC 采样基础 1 1 ADC 通道 1 2 ADC 分辨率 1 3 ADC 采样计算 二 ADC 设备操作函数 2 1 查找 ADC 设备 2 2 使能 关闭 ADC 通道 2
  • 前端工程化:express服务端开发

    目录 1 express基本使用 1 安装依赖 2 创建服务 3 启动服务 2 express中间件和异常 1 中间件分3种 2 异常捕获有3种 3 https服务和静态服务 1 https服务 2 静态服务 1 express基本使用 1
  • 揭秘-只有13台DNS根域名服务器原因

    引言 什么是DNS DNS服务 将主机名映射成IP地址 一个主机可以有一个规范主机名 多个别名 www sina com就是个别名 邮件服务器也有别名 目的 负载平衡 通过IP分流 DNS的架构 前面我们说DNS是将主机名对应到IP 那么这
  • ConstraintLayout使用总结

    0dp的使用 app layout constrainedWidth true android layout width wrap content android layout width 0dp 效果是一样的 可以自动充满剩余空间 例子一
  • 【ZT】怎么查PC的CPU序列号?(wmic CPU get ProcessorID。WIN7可用)

    https zhidao baidu com question 38740362 html 怎么查CPU序列号 怎么查CPU序列号 我的是AMD Athlon4000 2的处理器 处理器上面写的是 AD04000IA5DD CAARG 07
  • CSS3新增了哪些新特性?

    一 是什么 css 即层叠样式表 Cascading Style Sheets 的简称 是一种标记语言 由浏览器解释执行用来使页面变得更美观 css3是css的最新标准 是向后兼容的 CSS1 2的特性在CSS3 里都是可以使用的 而CSS
  • C语言进阶,第4节-自定义类型详解(结构体+枚举+联合)

    一 结构体 1 结构的声明 描述一个学生 struct Stu 结构体标签 成员变量 char name 20 int age char sex 5 char id 20 x x 为 struct Stu 类型的变量 匿名结构体类型 str
  • LLama 2部署教程+私有模型分发

    近日 Meta发布了LLama的最新版本 LLama2 尽管其对中文的处理能力尚有待提升 但其整体表现无疑是令人瞩目的 在发布当天 我便迫切地将其下载下来进行试用 发现相比之前的版本 LLama2在多个方面都实现了显著的进步 特别是在编程能
  • stable diffusion实践操作-文生图

    本文专门开一节写文生图相关的内容 在看之前 可以同步关注 stable diffusion实践操作 正文 1 liblib SD1 5底模 lora baihuaniang 1 0 详细信息 底模 SD 1 5 Lora baihuania
  • 【翻译】进程间通信是什么?

    从单体架构到微服务的转变需要构成应用程序的不同服务之间的通信 服务实例通常是需要以某种方式相互通信的进程 这就是进程间通信 IPC 有时称为服务间通信 ISC 的作用 人们 往往想到的IPC机制是RESTful APIs 因为这仍然是使用最
  • 在java里怎样将 List按指定长度分割

    需求背景 在实现业务功能时 难免会遇到大数据量处理的情况 比如 业务需要处理100000个订单的信息 需要调用外部接口 但接口请求入参限制了参数IDS个数不能超1000 那么就需要将 100000个订单拆分成 100组数据 分组处理 找了很
  • U-Boot 移植

    目录 NXP官方开发板uboot编译测试 查找NXP官方的开发板默认配置文件 defconfig 配置编译NXP官方开发板对应的uboot 烧写验证与驱动测试 定位缺少的驱动 在NXP官方U Boot 中添加自己的开发板 添加开发板默认配置
  • 数据库连接 ORA-12170 TNS connect timeout occurred

    数据库连接出现 ORA 12170 TNS connect timeout occurred这个错误 解决思路 首先连接内网数据库 要排除是不是网络的问题 如果不是网络的问题 再去检查监听是否出现配置错误或其他错误 跟踪路由会有连接超时的现
  • Java中new data()插入数据库---时间相差13h(系统时间是对的,数据库时间也是对的)

    参考了该篇博客 https blog csdn net wo18237095579 article details 90288735 方法 数据库JDBC链接配置加上 serverTimezone GMT 2B8 亲测有效 排查逻辑 1 先
  • java.lang.NumberFormatException 错误及解决办法

    总结几个java lang NumberFormatException 错误及解决办法方法 转载https blog csdn net xiaodongvtion article details 8835668 转载https blog c