Enum的例子
来源:互联网 发布:linux服务器编程 pdf 编辑:程序博客网 时间:2024/06/01 20:34
Enum 可以用于存储常量列表,也可以作单例SingleTon,其中,单例应用更是所有单例实现中的最佳实践。以下是一个例子:
public class Enum01 {public static void main(String[] args) {basicTest();//singleTon();}public static void basicTest() {Token token = Token.NAME;// enum's methodSystem.out.println("~~~basicTest~~~");System.out.println(token.name());// 只是用作常量的话,用name()就好System.out.println(Token.NAME.name());System.out.println(Token.NAME.compareTo(Token.NAME1));System.out.println(Token.values()[0].name);System.out.println(Token.valueOf("NAME1").name);// enum in switchswitch (token) {case NAME:System.out.println("NAME");break;case NAME1:System.out.println("NAME1");break;default:System.out.println("default");break;}System.out.println("~~~basicTest end~~~");}public static void singleTon() {// same instance Token token = Token.COUNTER;Token token1 = Token.COUNTER;if (token == token1) {System.out.println("same object");}token.addCounter(1);token1.addCounter(1);System.out.println(token1.counter);}// 枚举类private enum Token {// 本质是类静态常量(public static final), 所以大写NAME, NAME1("name1"), COUNTER(1);private String name;private int counter = 0;// constructor(private, initialize once)private Token() {this.name = "init_name";System.out.println("Singleton instance created.");}private Token(String name) {this.name = name;System.out.println("Singleton2 instance created.");}private Token(int counter) {this.counter += counter;System.out.println(this.counter);}// singleton一般有对应的方法而不只是定义常量private void addCounter(int counter) {this.counter += counter;System.out.println(this.counter);}}}
0 0
- Enum的例子
- enum 例子
- java的枚举enum的例子。
- enum枚举类的一个简单例子
- Java5 Enum例子
- Java enum枚举 测试例子
- mfc 枚举enum使用例子
- Enum&Singleton——枚举与单例模式的小例子
- java基础总结 --- enum枚举的常量相关方法、自动售货机(状态模式)例子
- Java 小例子:如何使用 Enum
- C#枚举(enum)例子与简单使用说明
- C++11的enum class & enum struct和enum
- 通过enum的名字设定enum对象
- enum与typedef enum的用法
- enum与typedef enum的用法
- Enum类和enum关键字的区别
- C - enum和typedef enum的使用
- enum 与 Enum 类的关系
- 事务的编写
- windows下 pip安装
- js设置ie浏览器的文档模式为当前最高
- Association Class VS Full Class
- 如何统计每个小时用户在线人数?
- Enum的例子
- spring MVC的困惑--url-pattern的/和/*有区别
- Struts2+Spring4.0+Hibernate4.0 学习之二
- 设计模式之(六)------适配器模式
- LeetCode Jump Game && Jump GameII
- C语言修饰词之violate
- JSP和Servlet中的Cookie
- Docker启动报错
- 【数据库】 sql的一些基本语法(一)