私はJavaでintでいっぱいのArrayListを持っています。getメソッドを介してアクセスしています。ここで、いくつかの操作を実行するために、intとして配列リストintオブジェクトが必要です。だから、私がしているのは、
int i = Integer.parseInt(arraylist.get(position).toString()) + 100 ...
それを行うための他の良い方法はありますか(効率的に意味します)?
私はJavaでintでいっぱいのArrayListを持っています。getメソッドを介してアクセスしています。ここで、いくつかの操作を実行するために、intとして配列リストintオブジェクトが必要です。だから、私がしているのは、
int i = Integer.parseInt(arraylist.get(position).toString()) + 100 ...
それを行うための他の良い方法はありますか(効率的に意味します)?
はい-文字列に変換して元に戻さないでください!
int i = arrayList.get(position).intValue() + 100;
または自動開梱を使用する:
int i = arrayList.get(position) + 100;
コメントに記載されているように、式が代入式で(またはメソッド引数として)使用されている場合は、自動アンボックス化に満足しています。算術式の一部として使用されている場合は、通常、明示的にすることを好みます。
Integer
(リストは値ではなく参照でいっぱいになることに注意してくださいint
。)
どのバージョンのJavaを使用していますか?Java 1.5以降、「自動ボクシング」機能がこれを処理する必要があります。
int i = arrayList.get(position) + 100;
多分:
List<Integer> myList = new ArrayList<Integer>();
myList.put(1);
myList.put(2);
...
int num = myList.get(index) + 100;
または、好きなことをしてください。コレクションには整数のみが含まれるため、変換する必要はありません。さらに、オートボクシングはint->Integerとbackを処理します。