-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathEnumBase.java
More file actions
85 lines (75 loc) · 2.44 KB
/
EnumBase.java
File metadata and controls
85 lines (75 loc) · 2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package example.EnumExample;
/**
* Basic enum example.
*
* TODO: 多讀一些open source code進來揣摩別人寫法
*
* Reference
* - https://beginnersbook.com/2014/09/java-enum-examples/
* - https://github.com/linth/JavaGuide/blob/master/docs/java/basic/%E7%94%A8%E5%A5%BDJava%E4%B8%AD%E7%9A%84%E6%9E%9A%E4%B8%BE%E7%9C%9F%E7%9A%84%E6%B2%A1%E6%9C%89%E9%82%A3%E4%B9%88%E7%AE%80%E5%8D%95.md
*/
enum Directions {
EAST ("E"),
WEST ("W"),
NORTH ("N"),
SOUTH ("S");
private final String shortCode;
Directions(String code) {
this.shortCode = code;
}
public String getDirectionCode() {
return this.shortCode;
}
public static void printAllEnum() {
// provide to print all enum data in Enum class.
for (Directions dir : Directions.values()) {
System.out.println(dir);
}
}
}
public class EnumBase {
public static void main(String[] args) {
// printEnumAll(); // using outside function to show all enum item.
Directions.printAllEnum(); // using function in the enum class.
EnumBase eb = new EnumBase();
eb.commonExample(Directions.EAST);
eb.switchExample(Directions.SOUTH);
}
public void commonExample(Directions dir) {
if (dir == Directions.EAST) {
System.out.println("direction is east.");
} else if (dir == Directions.WEST) {
System.out.println("direction is west.");
} else if (dir == Directions.NORTH) {
System.out.println("direction is north.");
} else if (dir == Directions.SOUTH) {
System.out.println("direction is south.");
}
}
public void switchExample(Directions dir) {
switch (dir) {
case EAST:
System.out.println("direction is east.");
break;
case WEST:
System.out.println("direction is west.");
break;
case NORTH:
System.out.println("direction is north.");
break;
default:
System.out.println("direction is south.");
break;
}
}
/**
* how to iterate through an Enum variable?
* 1) 在enum建立foreach function 顯示
* 2) 在外部建立新的function 顯示
*/
public static void printEnumAll() {
for (Directions dir : Directions.values()) {
System.out.println(dir);
}
}
}