resultMap.get("success")返回的是integer类型的1 if("1".equals(resultMap.get("success")))为什么返回false
时间: 2023-07-19 12:35:49 浏览: 39
如果 `resultMap.get("success")` 返回的是整数类型的1,那么它和字符串类型的 "1" 是不同的数据类型。在 Java 中,整数和字符串是不同的数据类型,因此它们之间的比较可能会出现问题。在这种情况下,应该使用整数类型的比较,例如:
```
if (1 == Integer.parseInt(resultMap.get("success").toString())) {
// do something
}
```
这样可以将整数类型的1和字符串类型的 "1" 进行比较。另外,需要注意的是,当 `resultMap.get("success")` 返回 null 时,上述代码会抛出 NullPointerException 异常,因此需要先判断 resultMap 中是否包含 "success" 这个键。
相关问题
if("1".equals(resultMap.get("success"))) 为什么返回false
如果该代码返回了false,那么说明resultMap中名为"success"的键对应的值不等于字符串"1"。可能的原因包括:
1. resultMap中没有名为"success"的键。在这种情况下,resultMap.get("success")会返回null,而不是字符串"1",因此if语句的判断会返回false。
2. resultMap中名为"success"的键对应的值不是字符串"1"。这意味着if语句的判断会返回false。
需要注意的是,该代码片段只是一个条件判断语句,它没有改变任何变量的值,因此无法确定它返回false的具体原因。如果想要更准确地判断代码的执行情况,可以在if语句后面添加日志或者调试信息,以便更好地理解代码的执行流程。
1 == Integer.parseInt(resultMap.get("success").toString()) 怎么取反
要将 `1 == Integer.parseInt(resultMap.get("success").toString())` 的结果取反,可以使用逻辑非运算符 "!",例如:
```
if (!(1 == Integer.parseInt(resultMap.get("success").toString()))) {
// do something
}
```
这样可以在 `resultMap.get("success")` 不是整数类型的1时执行 "do something" 中的代码。另外,需要注意的是,在 `resultMap.get("success")` 为 null 或者不包含 "success" 这个键时,上述代码也会执行 "do something" 中的代码。如果需要避免这种情况,可以在执行条件语句之前先判断 `resultMap` 是否包含 "success" 这个键,例如:
```
if (resultMap.containsKey("success") && !(1 == Integer.parseInt(resultMap.get("success").toString()))) {
// do something
}
```
这样可以避免空指针异常和键不存在的问题。