Javaの配列Integerをintに変換するすべは…?

ちょっとJavaでポーカー作ってたんですけど、
やっぱカードリストは配列じゃなくてList(LinkedListとかArrayList)を使いたい気がします。

で、例えばカード交換するとき、
もしGUIのアプリケーションだったら、ViewがCardオブジェクト持ってて、クリックでon/off切り替えられて、
「交換」ボタンを押したらonになってるViewを集めてきてそのCardオブジェクト達を引数に渡して「交換」するんでしょうけど、

今作ってるのはIRC(チャット)上で動くポーカーなんで、交換もコマンドで入力します。
なんで、「1,4,5番目のカードを交換したい」みたいな要求をしたいわけです。
で、まあそのごにょごにょで、コマンド受け取ってそれを数字にするときListを使いたくなったんですけど、
この番号のカードを交換して下さい、って渡す引数にListを使うのもなんか仰々しい気がして、intに変換して渡そうかなって思ったという経緯です。

で、List#toArrayメソッドで、Integerの配列を得ることはできるんですが、
Integerをintに変換できねーのかよ、ってちょっとつっこみたく思ってました。
(なおIntegerオブジェクト自体はintに暗黙に変換できます、その逆も容易です)

List<Integer> integerList = new ArrayList<Integer>();
Integer[] integerArray = integerList.toArray(new Integer[0]);
int[] intArray = (int[]) integerArray; //エラー

ということで調べてみた所、
やっぱループさせていちいち中身変えなきゃいけないっぽいですね。

List<Integer> integerList = new ArrayList<Integer>();
int[] intArray = new int[integerList.size()];
for (int i=0; i<integerList.size(); i++) {
  intArray[i] = integerList.get(i); // Integer
}

こんなんあちらこちらでやるのはばかばかしいので、設計考えろってことですね。
そもそもint[]なんか使うなハゲっていう意見もありましたが。

参考:
ArrayListからプリミティブ型の配列への変換について - QA@IT