枚举类型

枚举类型

问题描述:

package cn.com.liheng.test;

import java.util.Scanner;

public class Test {
public static void main(String[] args) {
week b=new week();
for (int i = 1; i > 0; i++) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入交通灯颜色!");
String sv=sc.nextLine().trim();

}

}
}为什么week b=new week();
week();这个方法总是报错类型不匹配了?
下面的是枚举类:
package cn.com.liheng.test;

public enum week {
红色,绿色,黄色,

}

package srcio;

import java.util.Scanner;

public class TestM {

/**
 * @param args
 */
public static void main(String[] args) {
 TestM  tm=new TestM();

 Color [] cl={Color.红色,Color.绿色,Color.黄色};

 Scanner s=new Scanner(System.in);

 System.out.println("请输入交通灯颜色:"); 

 String clo=s.nextLine().trim();

 String cll=tm.checkColor(cl, clo);

 if(null!=tm.checkColor(cl, clo)){
     if(cll.equals(clo)){
         System.out.println("ppppp");
     }

 }else{
     System.out.println("没有此颜色 请重新输入!");
 }

}

public String checkColor(Color[] cl,String s){
    for(int i=0;i<cl.length;i++){
        if((cl[i].toString()).equals(s)){
            //  枚举类型转化为String类型
            return cl[i].toString();
        }
    }

    return null;

}

}

枚举是不能new的,你要引用枚举可以这样调用

[code="java"]week b = week.绿色[/code]

枚举你可以理解为静态常量,他的作用是编译前做类似限定,可以直接使用的。
比如你:
public enum week {
红色,绿色,黄色
}
你要用就可以:week.红色 就行了