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

IT小君   2021-09-26T06:24:50

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

for (ObjectType objectName : collectionName.getObjects())
点击广告,支持我们为你提供更好的服务
评论(7)
IT小君

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

它是编译器提供的用于迭代s 和数组语法糖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);
}

进一步阅读

2021-09-26T06:24:50   回复
IT小君

可变objectSummary保持类型的当前对象S3ObjectSummary从返回objectListing.getObjectSummaries()和遍历集合。

下面是这方面的一个例子增强的for循环Java教程

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);
      }
 }
}

在这个例子中,变量 item 保存来自 numbers 数组的当前值。

输出如下:

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

希望这可以帮助 !

2021-09-26T06:24:50   回复
IT小君

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

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

语法:

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

例子 :

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

这是针对每个循环的。

它将自动递增。从集合到USer对象的数据一一填满。和工作。

2021-09-26T06:24:51   回复
IT小君

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

2021-09-26T06:24:51   回复
IT小君

对于 objectListing.getObjectSummaries() 中的每个 S3ObjecrSummary

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

2021-09-26T06:24:51   回复
IT小君

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

for (ObjectType objectName : collectionName.getObjects()){ //loop body> //你可以根据需要在这里使用'objectName',并且在每次迭代中不同的对象会被它 //reepresented。}

2021-09-26T06:24:52   回复
IT小君
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);
    }

}
2021-09-26T06:24:52   回复