Java for循环语法:“for(T obj:objects)”

时间:2011-10-14 04:46:23

标签: java syntax for-loop foreach

我遇到了一些我以前从未见过的Java语法。我想知道是否有人能告诉我这里发生了什么。

for (ObjectType objectName : collectionName.getObjects())

7 个答案:

答案 0 :(得分:97)

它被称为 for-each 增强型for语句。请参阅the JLS §14.14.2

编译器提供的 syntactic sugar 用于迭代Iterable和数组。以下是迭代列表的等效方法:

List<Foo> foos = ...;
for (Foo foo : foos)
{
    foo.bar();
}

// equivalent to:
List<Foo> foos = ...;
for (Iterator<Foo> iter = foos.iterator(); iter.hasNext();)
{
    Foo foo = iter.next();
    foo.bar();
}

这些是迭代数组的两种等效方法:

int[] nums = ...;
for (int num : nums)
{
    System.out.println(num);
}

// equivalent to:
int[] nums = ...;
for (int i=0; i<nums.length; i++)
{
    int num = nums[i];
    System.out.println(num);
}

进一步阅读

答案 1 :(得分:5)

变量 objectSummary 包含从 objectListing.getObjectSummaries()返回的 S3ObjectSummary 类型的当前对象,并遍历该集合。

以下是来自Java Tutorials

增强型循环的示例
class EnhancedForDemo {
 public static void main(String[] args){
      int[] numbers = {1,2,3,4,5,6,7,8,9,10};
      for (int item : numbers) {
        System.out.println("Count is: " + item);
      }
 }
}

在此示例中,变量项保存数字数组中的当前值。

输出如下:

Count is: 1
Count is: 2
Count is: 3
Count is: 4
Count is: 5
Count is: 6
Count is: 7
Count is: 8
Count is: 9
Count is: 10

希望这有帮助!

答案 2 :(得分:4)

是的......这是针对java中的每个循环。

通常,当您从数据库中检索数据或对象时,此循环将变得非常有用。

Syntex:

for(Object obj : Collection obj)
{
     //Code enter code here
}

示例:

for(User user : userList)
{
     System.out.println("USer NAme :" + user.name);
   // etc etc
}

这适用于每个循环。

它将自动增量。已经填充了从集合到USer对象数据的逐个。和工作。

答案 3 :(得分:2)

这就是每个循环语法。它循环遍历objectListing.getObjectSummaries()返回的集合中的每个对象。

答案 4 :(得分:2)

for objectListing.getObjectSummaries()中的每个S3ObjecrSummary

它循环遍历集合中的每个项目

答案 5 :(得分:1)

是的,它被称为for-each循环。 collectionName中的对象将从该集合的开头一个接一个地分配给创建的对象引用“objectName”。因此,在循环的每次迭代中,'objectName'将从'collectionName'集合中分配一个对象。 当'collectionName'集合的所有项目(对象)都已完成分配或者只是要获取的对象结束时,循环将终止一次。

for(ObjectType objectName:collectionName.getObjects()){     // loop body&gt;     //你可以根据需要在这里使用'objectName',并且每次迭代都会重复显示不同的对象。 }

答案 6 :(得分:1)

public class ForEachLoopExample {

    public static void main(String[] args) {

        System.out.println("For Each Loop Example: ");

        int[] intArray = { 1,2,3,4,5 };

        //Here iteration starts from index 0 to last index
        for(int i : intArray)
            System.out.println(i);
    }

}