Java for循环语法:“for(T obj:objects)”
我遇到了一些我以前没见过的Java语法。 我想知道是否有人能告诉我这里发生了什么事情。
for (ObjectType objectName : collectionName.getObjects())
它被称为for-each或enhanced 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); } }