java.lang.NumberFormatException: Invalid int: "R.drawable.nongfu"
时间: 2023-12-16 10:27:14 浏览: 176
java.lang.NumberFormatException: Invalid int: "R.drawable.nongfu"错误是因为在将字符串转换为整数时,字符串中包含了非数字字符。在这个例子中,"R.drawable.nongfu"是一个字符串,其中包含了非数字字符,因此无法将其转换为整数。要解决这个问题,需要确保将字符串转换为整数之前,字符串中只包含数字字符。可以使用String类的replaceAll()方法来删除字符串中的非数字字符,例如:
```java
String str = "R.drawable.nongfu";
str = str.replaceAll("\\D+","");
int num = Integer.parseInt(str);
```
这里的replaceAll()方法使用正则表达式"\\D+"来匹配所有非数字字符,并将它们替换为空字符串。然后,使用Integer.parseInt()方法将字符串转换为整数。
相关问题
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: java.lang.NumberFormatException: For input string: "G" ### Cause: java.lang.NumberFormatException: For input string: "G"
这个异常的原因是查询语句中的某个参数期望是一个数字,但是传入的值却是字符串 "G",导致类型转换异常。可以检查一下你的查询语句以及参数是否正确。
另外,如果你的查询语句中传入的参数确实是字符串类型,而不是数字类型,那么就需要对查询语句进行修改,使用字符串匹配的方式进行查询。具体实现如下:
```xml
<select id="selectByString" parameterType="String" resultType="...">
select * from table_name
<where>
<if test="str != null and str != ''">
and column_name = #{str}
</if>
</where>
</select>
```
在上述示例中,我们使用了 `<if>` 标签和 `${}` 占位符来判断字符串是否为空或 null。如果不为空,则拼接上 `and column_name = #{str}` 条件语句,使用 `#{}` 占位符来引用参数,并且 MyBatis 会自动进行字符串转义和 SQL 注入防护。如果为空,则不拼接条件语句,查询结果会返回所有数据。
java.lang.Exception: java.lang.NumberFormatException: For input string: "240 0"
这个错误通常是因为代码中尝试将一个非数字的字符串转换为数字类型时引起的。在这个特定的错误中,字符串"240 0"中包含了一个制表符,这可能是导致错误的原因之一。解决这个问题的方法是确保代码中只有数字字符串被转换为数字类型,并且没有包含任何非数字字符的字符串被转换。另外,你也可以尝试使用trim()函数去除字符串中的空格和制表符等空白字符。
阅读全文