public enum A {1,2,3,4,5}
A a = 2;
for (A a : A.values()){
if (true){
return xxx.method1(a);
}
}
return xxx.method2(a);
我的问题是在for循环中,是从2(2-5-1)开始还是从1(1-5)开始。如果for-loop没有返回任何内容并返回xxx.method2(a),那么a仍然是2还是已经变为5?
答案 0 :(得分:2)
此代码甚至不会编译,因为您无法在for中再次声明。 您也不能使用1,2,3声明A,因为它们的数字不被接受为标识符。
但除此之外,枚举中的迭代从第一个声明的值开始,直到最后一个。值只给出了一个枚举数组,因此你的循环与:
相同A[] all = A.values();
for (int i=0;i<all.length;i++) {
method(all[i]);
}