0

我在 Java 中有一个 ArrayList,它充满了 int。我正在通过 get 方法访问它。现在,我需要数组列表 int 对象作为 int 来执行一些操作。所以,我正在做的是,

int i = Integer.parseInt(arraylist.get(position).toString()) + 100 ...

有没有其他好的方法(意味着有效)?

4

3 回答 3

3

是的 - 不要转换为字符串并返回!

int i = arrayList.get(position).intValue() + 100;

或使用自动拆箱:

int i = arrayList.get(position) + 100;

正如评论中所指出的,当表达式仅用于赋值表达式(或作为方法参数)时,我对自动拆箱感到满意 - 当它用作算术表达式的一部分时,我通常更喜欢使其明确。

(请注意,您的列表将充满Integer引用,而不是int值。)

于 2012-05-01T09:31:49.123 回答
3

您使用的是什么版本的 Java?从 Java 1.5 开始,“自动装箱”功能应该会为您解决这个问题。

int i = arrayList.get(position) + 100;
于 2012-05-01T09:32:58.483 回答
3

也许:

List<Integer> myList = new ArrayList<Integer>();
myList.put(1);
myList.put(2);
...
int num = myList.get(index) + 100;

或者做任何你喜欢的事情,collection 将只包含整数,所以你不必转换它。另外,自动装箱处理 int->Integer 和返回。

于 2012-05-01T09:33:08.123 回答