当前位置: 首页 > 知识库问答 >
问题:

整数是字符串——怎么可能呢?

缑勇锐
2023-03-14

发生了严重的错误。

我有

ArrayList<Integer> activitiesToDelete;

我需要准备要传递给Spring jdbcTemplate的对象数组。然而,由于某些原因,ArrayList中的元素被视为字符串,因此在执行jdbcTemplate时会中断,抱怨它无法从字符串转换为int。然后我尝试在循环中转换,看看这是否有帮助:-\显然,我不能做Integer。parseInt作为IDE正确地将其视为整数。每当我将整数a=Activities分配给Delete时。得到(我);它给了我:

java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

对于int a=。。。怎么会这样?

 Object [] objectList = new Object [activitiesToDelete.size()];

    for (int i = 0; i < activitiesToDelete.size(); i++) {

    Integer a = activitiesToDelete.get(i);

        logger.info(String.valueOf(activitiesToDelete.get(i)));

        objectList[i] = activitiesToDelete.get(i).intValue();
}

    jdbcTemplate.update(sql, objectList);

我错过了什么?

更新:罪犯线

  @RequestMapping(value="/activities/delete", method = RequestMethod.POST) public String deleteActivities(@RequestParam("activityId") ArrayList <Integer> activitiesToDelete) 

这是一个与Spring MVC相关的片段,它从表单中填充,似乎Spring不能向ArrayList添加适当的类型。

任何想知道的人,要么使用int[]或HttpServlet方法(尽管有额外的代码)。

共有1个答案

汪才
2023-03-14

我觉得问题是

objectList[i] = activitiesToDelete.get(i).intValue(); 

intValue()将整数转换为整数。整数不是对象,所以它必须将其转换为对象来存储它,我认为它选择了字符串。尝试

objectList[i] = activitiesToDelete.get(i); 
 类似资料:
  • 既然字符串是不可变的,我们如何将字符串更改为示例 现在我正在做 它将打印“你好玛纳斯”。所以字符串s1会改变。 那么,你怎么能说字符串是不可变的呢?

  • 运行此代码时 我得到这个错误 read_bikeins=pdf。PdfFileReader(bikeins)回溯(最近一次呼叫最后一次): 文件“”,第1行,以read\u bikeins=pdf格式。PdfFileReader(比基恩) 文件“C:\Users\Naveen Raj\Anaconda3\lib\site packages\PyPDF2\pdf.py”,第1084行,在init s

  • 我是java和objectMapper的新手。我正在尝试解析json字段,该字段可能具有两种类型,它可能是字符串或数组。 例如: 或 类示例: 我使用objectMapper来反序列化json,当“full_name”字段有一个字符串时可以正常工作,但是当数组到达时,数组无法反序列化。 这个想法是,当到达一个字符串时,将值放在属性中,但当到达数组时,将数组元素连接为字符串(String.join

  • 问题内容: true如果传入的数字包含,则此方法返回1。 该+ “”零件的目的是 什么?如何使一个?(据我所知.contains只能使用Strings)。 问题答案: Anint是原始元素。在字符串中添加基元将执行该基元到a的隐式转换,String并将两个字符串加在一起。在这种情况下,将int转换并添加”“(empty String), 可以重写为: 要么 要么

  • 问题内容: 我有一个String和一个int,可以说:和。什么是如果它们是相同的,看到的最快的方法还是(或者是有一个更快的方法?)? 这是Integer.parseInt和String.equals的源代码 问题答案: 会比 首先将num转换为O(n)的字符串,其中n是数字中的位数。然后它将再次进行字符串连接O(n),然后最终进行字符串比较。在这种情况下,字符串比较将是另一个O(n)-n是数字中的