有一个具有以下签名的方法:
public static String concatAndSeperate(Object seperator, Object... obj)
该方法的目的是在 obj 的条目之间使用分隔符连接 obj 中的对象。
现在我有一个 int 数组,由于严重的副作用,我无法修改它。
int[] numbers = new int[] {1, 2, 3, 4, 5, 6, 7};
我想将这些数字用于 SQL IN 语句:
SELECT * FROM quux WHERE id IN (1, 2, 3, 4, 5, 6, 7);
所以我尝试用我漂亮的小方法来连接它:
concatAndSeperate(", ", numbers);
当然,这不起作用,因为 numbers 是整数数组而不是整数数组。所以我尝试用它制作一个整数数组:
concatAndSeperate(", ", Arrays.asList(numbers).toArray(new Integer[numbers.length]);
这会导致一个很好的错误,我不明白:
Exception in thread "main" java.lang.ArrayStoreException
at java.lang.System.arraycopy(Native Method)
at java.util.Arrays.copyOf(Unknown Source)
at java.util.Arrays$ArrayList.toArray(Unknown Source)
at mystuff.MyClass.main(MyClass.java:415)