for(Color c:Color.values()) ?????那位大神来指点指点
Java Enum枚举 遍历判断 四种方式(包括 Lambda 表达式过滤)
下面这个枚举中Color c : Color.values()
这个地方没太懂
后来看了这两篇文章后明白了
是获得color中的value 然后通过for循环依次取出等同于
Color[] cs = Color.values();
for (int i=0;i<=cs.length;i++) {
if(cs[i].getIndex()==index){
return cs[i].getName();
}
}
public static String getname(int index){
Color[] cs = Color.values();
for (int i=0;i<=cs.length;i++) {
//for (Color c : Color.values()) {
if(cs[i].getIndex()==index){
// if(c.getIndex()==index){
return cs[i].getName();
// return c.getName();
}
}
return "";
}
public enum Color
{
RED("s",1),GREEN("s",2),WHITE("s",3),YELLOW("s",4);
private Color(String name,int index)
{
this.name=name;
this.index=index;
}//是对应上面的组合
private String name;
private int index;
//构造方法
public int getIndex() {
return index;
}
public void setIndex(int index) {
this.index = index;
}
public String getName() {
return name;
}
public void setName(String Name) {
this.name = name;
}
public static String getname(int index){
Color[] cs = Color.values();
for (int i=0;i<=cs.length;i++) {
//for (Color c : Color.values()) {
if(cs[i].getIndex()==index){
// if(c.getIndex()==index){
return cs[i].getName();
// return c.getName();
}
}
return "";
}
}