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

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

for (ObjectType objectName : collectionName.getObjects()) 

它被称为for-eachenhanced for语句。 请参阅JLS第14.14.2节 。

它是编译器提供的用于迭代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); } 

进一步阅读

  • Java的for循环代码是如何由编译器生成的
  • For-Each循环

variablesobjectSummary包含从objectListing.getObjectSummaries()返回的types为S3ObjectSummary的当前对象并遍历集合。

这里是一个从Java教程中 增强for循环的例子

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

在这个例子中,variablesitem保存了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 

希望这可以帮助 !

是的…这是在java中的每个循环。

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

Syntex:

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

例如:

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

这是每个循环。

它会自动递增。 一个一个地从收集到用户对象的数据已经填满。 和工作。

这是每个循环的语法。 它循环访问由objectListing.getObjectSummaries()返回的集合中的每个对象。

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

它正在循环通过集合中的每个项目

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

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

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