文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Jave中怎么对枚举进行操作

2023-06-17 13:50

关注

这篇文章给大家介绍Jave中怎么对枚举进行操作,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

枚举其实就是一种类型,跟int, char 这种差不多,就是定义变量时限制输入的,你只能够赋enum里面规定的值。

定义枚举 方法很简单,就跟定义一个类一样,只是把class换成 enum,其他的,你懂地。e.g:

定义一个简单的枚举代码

public enum WorkDay{         Monday,Tuesday,Wednesday,Thurday,Friday;//定义时,枚举值间有逗号隔开,***用分号结束       }

废话不多说,直接上main 方法,拿去玩玩吧:

Java代码

public static void main(String []args)     {                      WorkDay  myworkday=WorkDay.Wednesday;                              switch (myworkday)             {                                    case Monday:                               System.out.println("you work day is Monday !");                 break;             case Tuesday:                             System.out.println("you work day is Tuesday!");                 break;             case Wednesday:                             System.out.println("you work day is Wednesday !");                 break;             case Thurday:                             System.out.println("you work day is Thurday !");                 break;             case  Friday:                      System.out.println("you work day is Friday !");                  break;             }         System.out.println("--------遍历所有值----------");         //----使用values()方法返回一个数组                  for(WorkDay day:WorkDay.values())         {                    System.out.println(day);         }         //-----既然是数组,就可以统计大小         System.out.println("WorkDay 里面有   "+WorkDay.values().length+" 个元素");                    //--------------------调用 ordinal()方法,返回枚举值在枚举中的索引,数组索引嘛,当然从0开始         System.out.println(WorkDay.Monday.ordinal());         System.out.println(WorkDay.Friday.ordinal());                  //---默认实现java.lang.Comparable接口 ,测试测试         System.out.println(WorkDay.Monday.compareTo(WorkDay.Thurday));//结果应该是 -3         //---Monday的索引为0,Thurday为 3,0-3=-3,         System.out.println(WorkDay.Friday.compareTo(WorkDay.Tuesday));//同理,结果应该为4-1=3,              }

简单吧,来点狠的,前面说了,枚举有点像类,只是把class换成了enum,那么它跟一般的类一样可以添加属性或方法。

带方法与属性的enum代码

public enum WeAreJavaer{                   chinese,java, spring, DB2, AIX; // 枚举列表,必须写在最前面,否则编译出错             private final static String location = "javaeye";      //定义一个属性             public static WeAreJavaer getInfomation() {                       WeAreJavaer flag=null;                 if (location.equals("javaeye"))                   {                  flag=java;                                }                 else                  {                   flag= chinese;                  }                   return flag;                 }         }

老规矩,直接上main()方法测试:

写道

public static void main(String []ags)   {   System.out.println("---------------------测试调用枚举中写的方法-------------------------------");   System.out.println("直接调用枚举里面的方法: "+ WeAreJavaer.getInfomation());   }

来点更狠的。

你可以通过括号来给enum赋值,这样的话,你必须有带参的构造方法,还需要有一属性与方法,否则编译时会出错。

另外,你如果给enum里面的元素赋值的话,要么都赋,要么都不赋,不要东赋一个,西赋一个。

如果不赋值则不能写构造方法,如果你赋值了,而没有构造方法,编译还是通不过,废话不多少,来,看:

可赋值的enum代码

public enum People {                     xiaowang(20), xiaozhang(32),xiaoli(50), xiaogou(21);            private final int age;                          People(int value) { //构造器只能是默认或者private, 从而保证构造函数只能在内部使用                this.age = value;            }            public int getAge() {                return age;            }        }

好吧,啥也不说了,接下来的事,你懂地:

测试带值enum代码

public static void main(String[] args) {            for(People people:People.values()){                                System.out.println(people+" 的年龄 :"+people.getAge());            }        }

关于Jave中怎么对枚举进行操作就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯