枚举的学习之路一
来源:互联网 发布:开发手机客户端软件 编辑:程序博客网 时间:2024/06/17 04:35
今天工作中,看到大量使用了枚举来规定常量。就抽空来学习了一下。
没有枚举
在没有枚举的时候,java编写是这样的。
public String jud(int i){ if(i==1){ return 1; }else if(i==2){ return 2; }}
可以通过调用jud()方法的形式,对 i 的值进行一个判断。但是这个样子写是非常不安全的。因为任何参数都可以进入到这个判断中。无形中,代码变得不怎么安全了。这个时候枚举就出来了。
枚举
首先创建一个枚举的类
public enum season{ a,b;}这个就是创建了一个枚举类,当然 如果后面没有其他语句,封号可以不用。接着就是使用它啦。
public String jud(season s){ if(i==a){ return 1; }else if(i==b){ return 2; }}把参数改成枚举的类,那么写进的参数,就不能是除了a和b以外的参数了。枚举在定义的时候,就已经决定了它的参数是什么。
但是有个例外,这里的参数可以是null。null可以进入方法,语句也不会报错,但是运行的时候会报空,这里就需要编写的时候注意了。
枚举的实例
枚举不能同对象一样,直接new出来是不行的。
season s =new season();//错误正确的写法是通过枚举里的参数
season s=season.a这样给枚举赋值。来改变它值。
枚举的方法
values():可以通过values()方法,来获得这个枚举的参数数组。
season[ ] s=season.values();
name():可以通过name()方法,来获得这个当前这个枚举的名字。可以通过for循环来尝试
season.name;
ordinal():可以通过values()方法,来获得当前这个枚举的值,是角标是多少 0位 1位 还是2位。
season.ordinal();
valueOf():可以通过valueOf(参数)方法,可以通过这个方法,查找参数在枚举中的角标是多少。
season i = season.valueOf(a);
阅读全文
0 0
- 枚举的学习之路一
- 枚举的学习之路二
- .net学习之messagebox的各种枚举
- Checklists学习日志之枚举的概念
- Swift学习之路04-枚举
- java学习之枚举
- 学习笔记之枚举
- C#学习之枚举
- java学习之枚举
- C++学习之枚举
- Swift学习之枚举
- Java学习之枚举
- 基于STM32的USB枚举过程学习笔记(一)
- 基于STM32的USB枚举过程学习笔记(一)
- 实现接口的枚举类 学习笔记(一)
- 包含抽象方法的枚举类 学习笔记(一)
- java基础学习:枚举 一
- 【算法学习】一、枚举举例
- history对象
- HDU
- AHB笔记
- 判断学生成绩是否有效
- 【java集合】HashMap源码解析
- 枚举的学习之路一
- 滚动条
- <<游戏人工智能编程案例精粹>>读书笔记二
- 面向对象的五大设计原则
- PHPStorm中配置phpunit
- Systemverilog中对象的复制
- 【网易】字符串碎片
- AOP
- python3.6 TypeError: 'dict_keys' object does not support indexing