当前位置:   article > 正文

Java 枚举:switch 支持枚举_switch枚举java.lang.nosuchfielderror: $switchmap$org

switch枚举java.lang.nosuchfielderror: $switchmap$org$jeecg$digital$infrastru

JDK1.5 才开始有枚举类型,同时可爱的 Java 组织丰富了 switch 语句,即支持枚举。

朋友做了一个关于 人工智能的教程,教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!点 这里 可以跳转到教程,对人工智能感兴趣的同学可以了解一下。

在看下面内容之前,推荐大家看看博主之前写的一篇关于Java枚举的文章 Java 枚举:理解枚举本质,然后再看下面的内容。

下面举例给大家展示一下。

定义一个枚举类 Color,示例如下:

  1. public enum Color {
  2. RED("red color", 0),
  3. GREEN("green color", 1),
  4. BLUE("blue color", 2),
  5. YELLOW("yellow color", 3);
  6. Color(String name, int id) {
  7. _name = name;
  8. _id = id;
  9. }
  10. private String _name;
  11. private int _id;
  12. public String getName() {
  13. return _name;
  14. }
  15. public int getId() {
  16. return _id;
  17. }
  18. public static Color getColor(int max) {
  19. Random random = new Random(System.currentTimeMillis());
  20. int num = random.nextInt(max);
  21. switch (num) {
  22. case 0:
  23. return Color.RED;
  24. case 1:
  25. return Color.GREEN;
  26. case 2:
  27. return Color.BLUE;
  28. case 3:
  29. return Color.YELLOW;
  30. default:
  31. return Color.BLUE;
  32. }
  33. }
  34. }

为枚举 Color 提供了一个静态方法 getColor,可以获取随机的颜色值。

那么,可以结合 switch 语句这样使用,示例代码如下:

  1. public static void main(String[] args) {
  2. int len = Color.values().length;
  3. Color color = Color.getColor(len);
  4. switch (color) {
  5. case RED:
  6. System.out.println("select " + "RED");
  7. break;
  8. case GREEN:
  9. System.out.println("select " + "GREEN");
  10. break;
  11. case BLUE:
  12. System.out.println("select " + "BLUE");
  13. break;
  14. case YELLOW:
  15. System.out.println("select " + "YELLOW");
  16. break;
  17. default:
  18. System.out.println("select " + "unknow!!");
  19. break;
  20. }
  21. }

可以看出,switch 语句中条件值是 Color 对象。


附录:完整代码

  1. package mark.demo;
  2. import java.util.Random;
  3. public class EnumDemo {
  4. public static void main(String[] args) {
  5. int len = Color.values().length;
  6. Color color = Color.getColor(len);
  7. switch (color) {
  8. case RED:
  9. System.out.println("select " + "RED");
  10. break;
  11. case GREEN:
  12. System.out.println("select " + "GREEN");
  13. break;
  14. case BLUE:
  15. System.out.println("select " + "BLUE");
  16. break;
  17. case YELLOW:
  18. System.out.println("select " + "YELLOW");
  19. break;
  20. default:
  21. System.out.println("select " + "unknow!!");
  22. break;
  23. }
  24. }
  25. public enum Color {
  26. RED("red color", 0),
  27. GREEN("green color", 1),
  28. BLUE("blue color", 2),
  29. YELLOW("yellow color", 3);
  30. Color(String name, int id) {
  31. _name = name;
  32. _id = id;
  33. }
  34. private String _name;
  35. private int _id;
  36. public String getName() {
  37. return _name;
  38. }
  39. public int getId() {
  40. return _id;
  41. }
  42. public static Color getColor(int max) {
  43. Random random = new Random(System.currentTimeMillis());
  44. int num = random.nextInt(max);
  45. switch (num) {
  46. case 0:
  47. return Color.RED;
  48. case 1:
  49. return Color.GREEN;
  50. case 2:
  51. return Color.BLUE;
  52. case 3:
  53. return Color.YELLOW;
  54. default:
  55. return Color.BLUE;
  56. }
  57. }
  58. }
  59. }

欢迎关注我的微信公众号,一起学习,一起进步!

 

 

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号