Yes thats correct, you will come across some issues doing this, however you can convert your list of Integer into an array of Integer with no big problems, its just the matter of converting it to an array of primitives you will need to loop through the indexes I believe.
Auto (un)boxing is only so good I'm afraid
final List<Integer> intList = new ArrayList<Integer>();
intList.add(4);
intList.add(5);
intList.add(6);
final Integer[] intArray = intList.toArray(new Integer[intList.size()]);
System.out.println(Arrays.toString(intArray));
// Json