A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 段郎 中级黑马   /  2014-4-29 18:25  /  1302 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学习了张孝祥老师的枚举后 自己联系了一下 除了这个错误,搞不懂
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

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

4 个回复

倒序浏览
Week week = Week.WEDNESDAY   
回复 使用道具 举报
楼主你好    我把你的代码改了一下   你看看能看懂不:
  1. public static void main(String[] args) {
  2. Week week = Enum.valueOf(Week.class,"WEDNESDAY") ;
  3.            System.out.println(week + "代表:" + week.getName()) ;
  4. }
复制代码
回复 使用道具 举报
按错了,
然后是:
week.getName();
回复 使用道具 举报
  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")//这样就对了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马