我想在sql中设置一个WHERE IN
子句,所以我想做一个preparedStatement.setArray(1, some_ids)
。
我可以像这样创建一个sql.Array
:
Array some_ids = conn.createArrayOf("INTEGER", new Object[]{"1", "2","3"});
但是如何使用ArrayList<Integer>
?
ArrayList<Integer> array_list_ids = new ArrayList<Integer>();
array_list_ids.add(1);
array_list_ids.add(2);
array_list_ids.add(3);
Array some_ids = conn.createArrayOf("INTEGER", array_list_ids);
我得到了
java: incompatible types: java.util.ArrayList<java.lang.Integer> cannot be converted to java.lang.Object[]
答案 0 :(得分:1)
将ArrayList
转换为Object
数组至toArray()
!
Array some_ids = conn.createArrayOf("INTEGER", array_list_ids.toArray());