我在 Java 中有一个 ArrayList,它充满了 int。我正在通过 get 方法访问它。现在,我需要数组列表 int 对象作为 int 来执行一些操作。所以,我正在做的是,
int i = Integer.parseInt(arraylist.get(position).toString()) + 100 ...
有没有其他好的方法(意味着有效)?
我在 Java 中有一个 ArrayList,它充满了 int。我正在通过 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;
或者做任何你喜欢的事情,collection 将只包含整数,所以你不必转换它。另外,自动装箱处理 int->Integer 和返回。