我宣布枚举为:
enum Sex {MALE,FEMALE};
Run Code Online (Sandbox Code Playgroud)
然后,迭代枚举,如下所示:
for(Sex v : Sex.values()){
System.out.println(" values :"+ v);
}
Run Code Online (Sandbox Code Playgroud)
我检查了Java API但找不到values()方法?我很好奇这个方法来自哪里?
API链接:https: //docs.oracle.com/javase/8/docs/api/java/lang/Enum.html
Java是如何由编译器生成的循环代码?
例如,如果我有:
for(String s : getStringArray() )
{
//do something with s
}
Run Code Online (Sandbox Code Playgroud)
where getStringArray()函数返回我想要循环的数组,函数会一直调用还是只调用一次?一般来说,使用这个结构循环的代码有多优?