java - java中将空字符串解析为整数

标签 java string integer

if(jsonArray.getJSONObject(i).get("SECNO").toString()!=null && jsonArray.getJSONObject(i).get("SECNO").toString().trim()!="")
                        appointment.mSecNo =Integer.parseInt(jsonArray.getJSONObject(i).get("SECNO").toString());
                    else
                        appointment.mSecNo = -1;

在前面的行中,当 jsonArray.getJSONObject(i).get("SECNO").toString() 的值等于 '' 它不会被 if 语句捕获..

我收到此错误消息.. can't parse '' to integer

最佳答案

不要使用 ==!= 来比较 Java 中的字符串 - 它只比较引用,而不是字符串的内容。另外,我怀疑 toString 是否会返回 null。我怀疑你想要:

Foo x = jsonArray.getJSONObject(i).get("SECNO");
if (x != null && x.toString().trim().length() > 0)

(我不知道 jsonArray.getJSONObject(i).get("SECNO") 的类型是什么,因此是 Foo。)

在这种特殊情况下,我使用 length() > 0 来检测非空字符串 - 但为了更一般的相等,您需要使用 equals >,所以另一种选择是:

if (x != null && !x.toString().trim().equals(""))

关于java - java中将空字符串解析为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7776661/

相关文章:

java - 无法实例化类;无空构造函数错误 - Android 切换 Activity

python - 在python中自动添加字符串内的引号

c - 哪个效率更高 : char str[] or char *str?

php - 替换字符串出现

swift - 如何在 Swift 中生成大范围的随机数?

java - 在actionPerformed java中声明整数

python - Python 中一个非常大的整数的 math.pow 是错误的

java - 最后的分析失败了。后台任务页面上提供了更多详细信息

java - IllegalArgumentException ,我的代码中的错误在哪里?

java - Java中的XML文件读取