<!--<br />
<br />
Code highlighting produced by Actipro CodeHighlighter (freeware)<br />
http://www.CodeHighlighter.com/<br />
<br />
--> 1 import java.util.Calendar;
2
3 /**
4 * 演示如何使用 Enum
5 */
6 public class EnumValue {
7
8 public static void main(String[] args) {
9
10 // 演示如何使用 Weekday
11 Weekday w = Weekday.Monday;
12 System.out.println("w = " + w.toString());
13 System.out.println("Monday compares to Friday = "
14 + Weekday.Monday.compareTo(Weekday.Friday));
15
16 System.out.println("Enum value of \"Sunday\" is " + Weekday.valueOf("Sunday"));
17
18 try {
19 System.out.println("Enum value of \"AnotherDay\" is "
20 + Weekday.valueOf("AnotherDay")); // 这里将会抛出 IllegalArgumentException
21 } catch (IllegalArgumentException e) {
22 System.out.println("exception: " + e.getMessage());
23 }
24 System.out.println();
25
26 // --------------------------------
27 // 演示如何使用 Month
28 System.out.println("The first month is " + Month.Jan);
29 System.out.println("The full name of the first month is " + Month.Jan.getFullName());
30 System.out.println("The fifth month is " + Month.valueByIndex(5).getFullName());
31 System.out.println("Index of August is " + Month.valueByFullName("August").getIndex());
32 System.out.println("Now is " + Month.thisMonth().getFullName());
33 }
34 }
35
36 /**
37 * 一个表示星期几的 enum (这是一个简单的例子)
38 */
39 enum Weekday {
40 Monday, Tuesday, Wednesday, Thirsday, Friday, Saturday, Sunday
41 }
42
43 /**
44 * 一个表示月份的 enum (这是一个稍微复杂的例子)
45 */
46 enum Month {
47
48 // 十二个月份
49 Jan("January"), Feb("Febrary"), Mar("March"),
50 Apr("April"), May("May"), June("June"),
51 July("July"), Aug("August"), Sept("September"),
52 Oct("October"), Nov("November"), Dec("December");
53
54 // 全名
55 private String fullName;
56
57 // 构造方法
58 Month(String fullName) {
59 this.fullName = fullName;
60 }
61
62 public String getFullName() {
63 return fullName;
64 }
65
66 // 获取当前 Enum 值是第几个月份。一月份则返回 1。
67 public int getIndex() {
68 return ordinal() + 1;
69 }
70
71 // 根据月数获得 enum 对象
72 public static Month valueByIndex(int index) {
73 for (Month month : Month.values()) {
74 if (month.getIndex() == index) {
75 return month;
76 }
77 }
78 return null;
79 }
80
81 // 根据全名获得 enum 对象
82 public static Month valueByFullName(String fullName) {
83 for (Month month : Month.values()) {
84 if (month.getFullName().equals(fullName)) {
85 return month;
86 }
87 }
88 return null;
89 }
90
91 public static Month thisMonth() {
92 // Calendar 的月份从 0 算起,而 Month 的月份从 1 算起
93 int index = Calendar.getInstance().get(Calendar.MONTH) + 1;
94 return valueByIndex(index);
95 }
96 }
相关推荐
java高级编程 Enum枚举 包括枚举的例子,问题 及一些文档,是复习的好资源
简单查询算法,供学习参考。 代码中描述了Enum和EnumMap类的使用。
众所周知,在Android 开发中是不推荐使用java 中的ENUM 来编程的。因为ENUM 中每一个value 都会是一个Object 对象。跟常量的int和String 相比,占用的内存要大的多。 那么,如果我们在定义一些常量的时候,如何限制...
1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...
java枚举小例子,简单了解枚举的用法,适合初学者使用。
在Java中,定义枚举使用enum关键字,其基本语法结构如下: 其中,EnumName表示枚举类型的名称,CONSTANT1、CONSTANT2、……、CONSTANTN表示枚举类型中的常量值。每个常量值都必须是合法的标识符,通常使用大写字母...
try-with-resources,之前使用的很多IO操作都需要手动去关闭流,现在使用这种方式,只要是实现了java.lang.AutoCloseable和java.io.Closeable的类就不需要再手动关闭了。 例子:try(OutputStream out=new ...
将带大家快速理解Java中弱引用,文章介绍的很详细,对大家学习Java很有帮助哦,有需要的可以参考借鉴。
Java实现Map集合二级联动示例中国省市例子
下面是使用 @SuppressWarnings 来取消 deprecation 警告的一个例子: public class Test { @Deprecated //在eclipse下运行的时候,方法名上会加一横线 public static void sayHello() { } } public class Test...
更多的使用例子可以参考 weiboclient4j.examples.OAuth2CommandLine API参数对象化 WeiboClient里面,大部分的方法都没有Javadoc,取而代之的是大部分的参数都是特定的对象,这样做的原因是因为: 写Javadoc太...
关于基本数据类型与包装数据类型的使用标准,下列哪些说法符合《阿里巴巴Java开发手册》:ABD A .所有的POJO类属性必须使用包装数据类型。 B .RPC方法的返回值和参数必须使用包装数据类型。 C .因为JAVA的自动...
11.2.8枚举(Enum)使用示例355 11.2.9枚举集(EnumSet)使用示例358 11.3常用算法361 11.3.1Collections中的简单算法361 11.3.2排序362 11.3.3二分查找364 11.4遗留的类和接口366 11.4.1Enumeration接口简介...
return语句的例子.docx Scanner和if语法.docx static.docx 毕向东视频的笔记.docx 参数传递.docx 第二周所学总结.docx 反射机制.docx 泛型.docx 封装和继承以及多态部分.docx 接口和抽象类以及实现类.docx 枚举enum....
用法六:使用接口组织枚举 public interface Food { enum Coffee implements Food{ BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO } enum Dessert implements Food{ FRUIT, CAKE, GELATO } }
这个想法是在Java代码中使用一些标记(@Annotations)来提供有关已定义的本地化消息的信息。 然后在构建时,maven插件将使用此信息来分析和检查代码文件和属性文件是否同步。 简单的例子 (这是 ): // Messages...
和 C++ 一样,C# 是大小写敏感的。半角分号(;)是语句分隔符。和 C++ 有所区别的是,C# 中没有单独的声明(头)和实现(CPP)文件。所有代码(类声明和实现)都放在扩展名为 cs 的单一文件中。 看看 C# 中的 Hello...
1.9 Java、Internet与万维网 1.10 其他高级语言 1.11 结构化编程 1.12 典型C++环境基础 1.13 C++与本书的一般说明 1.14 C++编程简介 1.15 简单程序:打印一行文本 1.16 简单程序:两个整数相加 1.17 内存的...
支持的输出包括C / CPP头文件,Python3(使用enum模块),Python2,Javascript,VueMixins和Java。 这仍然是一个在制品。 可以在github上打开有问题的问题,或者在PR上支持其他语言。 例子 创建一个输入文件 test....
可枚举可枚举与标准Java Enum类型相似,但具有解析“尚不知道”值的附加功能。 如果您尝试构建稳定的API,它们将无价之宝。获取图书馆将以下依赖项添加到您的项目中,或 下载。 < dependency> < groupId>nl....