java - 将字符串转换为 Int Java 时出错
问题描述
所以我收到一个 IP/PortNumber:WaitTime 形式的字符串作为字符串。我已经在“:”上拆分了这两个部分,所以我收到两部分,IP/Potnumber 作为一个,WaitTime 作为另一个字符串。我试图将此字符串转换为 int,但我不断收到字符串无效的错误。
错误:
public static int GetJob (String recieved) {
String[] arrOfJob = recieved.split(":");
int accjob =0;
try {
accjob = Integer.parseInt(arrOfJob[1]);
} catch(NumberFormatException ex){
System.out.println(ex);
}
return accjob;
}
public static int GetJob (String recieved) {
String[] arrOfJob = recieved.split(":");
int accjob =0;
System.out.print("/"+arrOfJob[1]+"/");
try {
accjob = Integer.parseInt(arrOfJob[1]);
} catch(NumberFormatException ex){
System.out.println(ex);
}
return accjob;
}
解决方案
尝试java中的instanceof并检查您是否正在解析字符串或双精度或其他数据类型。
例子 :
Integer i = 0;
if(i instanceof Integer) {
System.out.println("true");
}
输出 :
true
确保变量应该是对象(整数,双精度,..)而不是原始类型(整数,双精度,..)。
对于不可解析的值,将出现 NumberFormatException 的原因。
推荐阅读
- google-cloud-platform - 使用 2 个不同键访问同一实体的数据存储
- asp.net - 实现存款和取款功能
- redirect - 从 Safari 应用程序扩展内容阻止程序重定向
- angularjs - 无法转移到angularJs中的数组
- javascript - 如何用来自javascript的变量填充html标签
- javascript - 如何在 jquery 中正确附加表?
- c# - C# 检测图像上的文本并在位图中移动它们
- sql - 消息 245,级别 16,状态 1,过程 SYNC_ri_res_to_WC_PersonAddress,第 24 行 [Batch Start Line 0]
- reactjs - 如何在 p5.js 中使用 React
- amazon-web-services - 当 DynamoDB 表增长到一定大小时触发 AWS Lambda