[英]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.