这对于(:)的含义是什么意思?

package MyTest; import java.beans.BeanInfo; import java.beans.Introspector; import java.beans.PropertyDescriptor; class Person { ... } class Student extends Person { ... } public class IntrospectorDemo { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { BeanInfo info = Introspector.getBeanInfo(Student.class, Person.class); PropertyDescriptor[] props = info.getPropertyDescriptors(); for (PropertyDescriptor prop : props) { System.out.println(prop.getName() + "::" + prop.getPropertyType()); } } } 

我正在学习上面的代码,它告诉我什么是introspector,什么是stopClass。 但我不明白这是什么意思? for (PropertyDescriptor prop : props) ? 通常for()应该是这样的: for(i=0;i<100;i++)有人可以帮忙进一步解释吗? 谢谢!

这就是Java 5中引入的每个循环语法。

它是Collection“props”的for-each循环。 它迭代集合的所有条目。 在每次循环迭代期间,“prop”是当前处理的条目。 您可以使用任何实现Iterable和数组的容器类来实现。