我的实体类的id和price写的是int类型 ,request.getParameter()方法返回值是String 我就想着强转下

img

img


我的实体类的id和price写的是int类型 ,request.getParameter()方法返回值是String 我就想着强转下,但是不行 ,怎么改
我的数据库的id和price数据类型也是int 不想改数据库的数据类型

getParameter返回的类型是String,使用Integer.parseInt方法将数据转换成int类型
例如:

        String id = request.getParameter("ID");
        int ID = Integer.parseInt(id);

先看看有没有获取到值,如果没获取到就出现空指针异常了

img

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 以下回答来自chatgpt:

    可以使用 Integer.parseInt() 方法将 String 类型的参数转换为 int 类型,然后再将其赋值给实体类的属性。

    示例代码如下:

    String idStr = request.getParameter("id");
    int id = Integer.parseInt(idStr);
    entity.setId(id);
    
    String priceStr = request.getParameter("price");
    int price = Integer.parseInt(priceStr);
    entity.setPrice(price);
    

    需要注意的是,如果从 request.getParameter() 方法获取的参数为 null 或者空字符串,使用 Integer.parseInt() 方法会抛出 NumberFormatException 异常,需要对参数进行验证。可以使用 StringUtils 工具类的 isBlank() 方法进行验证。

    示例代码如下:

    String idStr = request.getParameter("id");
    if (StringUtils.isBlank(idStr)) {
        // 参数为空,需要处理
    } else {
        int id = Integer.parseInt(idStr);
        entity.setId(id);
    }
    
    String priceStr = request.getParameter("price");
    if (StringUtils.isBlank(priceStr)) {
        // 参数为空,需要处理
    } else {
        int price = Integer.parseInt(priceStr);
        entity.setPrice(price);
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^