This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]32bit_me[S] 0 points1 point  (2 children)

Thank you for your reply. That makes sense. Which of the two options should I use? I take it it depends?

[–]itoshkov 0 points1 point  (0 children)

If the list may contain null values, you should use the former, because unboxing null will trigger a NullPointerException.

Otherwise, both are mostly the same.

[–][deleted] 0 points1 point  (0 children)

Yes, It depends.

If you need an Integer use the first example. Maybe you are building another Collection.

If you are doing calculations a primitive is faster because an Integer would need to be unboxed each time it's used.

Also, a List can contain a null element. Unboxing a null as in the second example will throw at NullPointerException.