黑马程序员技术交流社区
标题:
求解一个枚举问题
[打印本页]
作者:
段郎
时间:
2014-4-29 18:25
标题:
求解一个枚举问题
学习了张孝祥老师的枚举后 自己联系了一下 除了这个错误,搞不懂
enum Week
{
MONDAY("星期一"),WEDNESDAY("星期三"),TUESDAY("星期二"),THRSDAY("星期四") ;
private final String name ;
private Week (String name){
this.name = name ;
}
public String getName(){
return this.name ;
}
}
public class EnumTest
{
public static void main(String[] args){
Enum week = Enum.valueOf(Week .class,"星期二 ") ;
System.out.println(week + "代表:" + week .getName()) ;
}
}
编译出错:找不到符 方法getName() ,位置:类型为Enum的变量week
作者:
fei_xiong
时间:
2014-4-29 18:57
Week week = Week.WEDNESDAY
作者:
﹊佑雨时杰↘
时间:
2014-4-29 18:57
楼主你好 我把你的代码改了一下 你看看能看懂不:
public static void main(String[] args) {
Week week = Enum.valueOf(Week.class,"WEDNESDAY") ;
System.out.println(week + "代表:" + week.getName()) ;
}
复制代码
作者:
fei_xiong
时间:
2014-4-29 18:58
按错了,
然后是:
week.getName();
作者:
fatlv123456
时间:
2014-4-29 20:28
Enum week = Enum.valueOf(Week .class,"星期二 ") ;//这句错了
查API文档能看到:public static <T extends Enum<T>> T valueOf(Class<T> enumType,String name),enumType - 要从中返回常量的枚举类型的 Class 对象
name - 要返回的常量名称
name的值是枚举的常量名称,不是构造方法的参数,也不是枚举常量中的一个变量值
Week week = Enum.valueOf(Week.class,"WEDNESDAY")//这样就对了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2