簡體   English   中英

Java ArrayList強制轉換問題

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM