工作中遇到一个类,发现使用到了枚举,这次也顺带着了解一下。很多东西虽然自己知道但是没有再工作中遇到,也没有去想什么地方能遇到。后面也会对这类知识点在工作中的使用专门写一些博客。
枚举类型比较特殊,算是Java中一个比较特殊的类。下面就列一个简单的例子。
package enumtrain; /** * ClothesSize.java * Description: 衣服大小枚举类 * * @author Peng Shiquan * @date 2019-07-13 */ public enum ClothesSize { /** * 枚举类,利用构造方法传参。这里的四个码号其实相当于四个实例 */ S("S号"), L("L号"), XL("XL号"), XXL("XXL号"); String size; public String getSize() { return size; } /** * Description: 构造方法,将枚举项的值赋值给枚举类的普通属性,再通过公共方法获取 * * @param size * @return * @Author: Peng Shiquan * @Date: 2019-07-13 */ ClothesSize(String size) { this.size = size; } } 上面就是一个简单的枚举类的例子。可以看到其实枚举相当于Java中的常量,类似下面代码。
public static final String ABA = "气温"; 但是枚举类要丰富的很多,里面可以写一些方法和变量,相对于上面的常量的定义要灵活的多。下面也给个例子如何使用。
package train; import enumtrain.ClothesSize; import java.util.Scanner; /** * ClothesSizeTest.java * Description: 枚举类测试方法 * * @author Peng Shiquan * @date 2020/6/30 */ public class ClothesSizeTest { public static void main(String[] args) { /** * 打印枚举值的值和name */ ClothesSize clothesSize = ClothesSize.XL; System.err.println("根据构造方法获取枚举类型的值:" + clothesSize.getSize()); System.err.println("直接获取枚举类型的name" + clothesSize.toString()); /** * 获取全部的枚举值 */ ClothesSize[] clothesSizes = ClothesSize.values(); for (ClothesSize clothesSize1 : clothesSizes) { System.err.println("枚举值name为:" + clothesSize1.toString() + ",枚举值value为:" + clothesSize1.getSize()); } /** * 根据键盘的输入取对应的枚举值 */ Scanner scanner = new Scanner(System.in); String input = scanner.next().toUpperCase(); ClothesSize clothesSize1 = Enum.valueOf(ClothesSize.class, input); System.err.println("输入的枚举值name为:" + clothesSize1.toString() + ",输入的枚举值value为:" + clothesSize1.getSize()); } } 运行的截图:
说到底,还是简单的使用。一旦到了工作中还是会忘记,因为还是没有在工作中使用,所以忘记的比较快。下面也给出一个代码,希望自己不要忘记。后面也会列举出工作中的使用。
有大佬知道这段代码的作用也可以给菜鸟说一下。
就这样吧,结束。