wood burning stoves 2.0
The moose likes Beginning Java and the fly likes for(int i:objList) i don understand how this works? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of OCA Java SE 8 Programmer I Study Guide 1Z0-808 this week in the OCAJP forum!
JavaRanch » Java Forums » Java » Beginning Java
Bookmark "for(int i:objList) i don understand how this works?" Watch "for(int i:objList) i don understand how this works?" New topic

for(int i:objList) i don understand how this works?

Anjali Raman
Ranch Hand

Joined: Nov 28, 2007
Posts: 57
in our project in many places they have used for loops like -

where objList is an List. I havent been able to understand how this is implemented as I somehow prefer using the traditional "for" loop. So can someone please throw some light on this enhanced for loop as they call it.
Vivek Singh
Ranch Hand

Joined: Oct 27, 2009
Posts: 92

***now first time the first object of objList is assigned to i (autoboxing is done) i=4 , then i=6..till end
Maneesh Godbole
Saloon Keeper

Joined: Jul 26, 2007
Posts: 10570

More information on the enhanced for loop can be found here http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html

[How to ask questions] [Donate a pint, save a life!] [Onff-turn it on!]
Rob Spoor

Joined: Oct 27, 2005
Posts: 19848

The above is shorthand for the following:
For arrays it is similar:
Now in your example, objList is probably a List<Integer>, which means that besides this for-each loop, it is also using auto unboxing to convert Integer objects into ints implicitly.

How To Ask Questions How To Answer Questions
Monu Tripathi

Joined: Oct 12, 2008
Posts: 1369

This construct was added to the language to make iterating through collections less uglier or more readable. You can use it to iterate over both a collection and an array(as already demonstrated in earlier posts).

Assuming you know how to use a for loop, if you find this new syntax confusing, try reading it as:
"for each integer i in the objList array or iterable do the following.."

[List of FAQs] | [Android FAQ] | [Samuh Varta]
It is sorta covered in the JavaRanch Style Guide.
subject: for(int i:objList) i don understand how this works?