package com.javaWeb03; public class EnumTest2 { /** * * 现在这样写虽然没问题,1代表向前走,2代表向后退,3代表向左走,4代表向右走 * 但是别人需要观察代码才能看懂,有时候不好维护,这属于硬编码,可读性差 * 可以使用常量来优化一下 例如1-2 * */ /*public static void main(String[] args) { Operation(1); } public static void Operation(int operation) { switch (operation) { case 1: System.out.println("go ahead"); break; case 2: System.out.println("step back"); break; case 3: System.out.println("turn left"); break; case 4: System.out.println("turn right"); break; } }*/ /** * 1-2 符合软编码,富有文化底蕴和色彩 * 使用常量来做信息标志和信息分类 * 但是还是有缺陷,因为没有约束好,不够规范,别人可以继续用数字代替 * 为了解决严谨性和规范性可以采用枚举,例如1-3 */ /* public static final int up=1; public static final int down=2; public static final int left=3; public static final int right=4; public static void main(String[] args) { Operation(right); Operation(2);//不够规范,入参不够严谨 } public static void Operation(int operation){ switch (operation) { case up: System.out.println("go ahead"); break; case down: System.out.println("step back"); break; case left: System.out.println("turn left"); break; case right: System.out.println("turn right"); break; } }*/ /** * 1-3枚举类用作信息标志和信息分类,非常严谨,优雅 */ enum Operation{ up,down,left,right } public static void main(String[] args) { OperationTest(Operation.left); } public static void OperationTest(Operation operation){//参数为枚举类型 switch (operation) {//不需要带前缀已自动识别为枚举类型 case up: System.out.println("go ahead"); break; case down: System.out.println("step back"); break; case left: System.out.println("turn left"); break; case right: System.out.println("turn right"); break; } } }
01-20
1400
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
09-21