当我尝试在 SQL IN 语句中传递我的数组列表时,它作为内存位置而不是字符串传递。
SELECT Pid FROM details WHERE number IN (" + tempArrayList.toString().replaceAll("\\[(.*?)\\]", "$1") + ")" ;
但是,正如我在问题描述中所述,它会打印
SELECT part_id FROM parts_details WHERE part_number IN ([Ljava.lang.Object;@7bb11784, [Ljava.lang.Object;@1ae369b7)
我尝试了一些替代方案
- 使用创建数组字符串
StringUtils.Join(tempArrayList.iterator())
Arrays.toString(tempArrayList.get(0)).replaceAll("[\\[\\]]", "") + "','"