[英]Java ArrayList Casting Issue
我在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;
或执行任何您喜欢的操作,集合将仅包含Integer,因此您无需进行转换。 另外,自动装箱会注意int-> Integer并返回。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.