簡體   English   中英

對每個集合使用Integer或int

[英]Using Integer or int in a for each with a collection

我有一個簡短的問題,我不清楚這是更好的做法。

假設我有一個集合c,其中包含數字3、5和8。

Collection<Integer> c = new ArrayList<Integer>(); c.add(3); c.add(5); c.add(8);

我了解for-each循環的想法,但是我不清楚一部分。

我要寫: for(Integer i: c){}for(int i: c)嗎?

如果可能,請評論速度,功效,優缺點或每一項。

這取決於您在for-each循環中正在做什么,以及是否需要“重新裝箱”一個int或需要多長時間對一個Integer裝箱。 它還取決於如何或是否要處理null -如果要允許null ,則必須使用Integer

坦白說,無論哪種方式都不太可能產生重大變化。

Integer將int值映射為對象,因此它可以為null,但int不能為null。 所以int是基本類型,因此它比Integer對象使用更少的內存

您的集合包含Integer ,最好使用for (Integer i: c)進行迭代。 您將需要這樣做,以避免不必要地將Integer取消裝箱為int

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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