热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

枚举类相关的实现方式及特点

本文介绍了枚举类的相关知识,包括枚举类的定义方式、实现方式以及枚举值的特点。通过对EvalResultTest和Color两个枚举类的示例进行分析,说明了枚举类是如何通过Class在内部实现的,以及枚举值都是publicstaticfinal的特点。同时,提供了一个相关链接供进一步了解枚举类的使用。

 

 

1 public enum EvalResultTest {
2
3 // 默认是无参数构造函数,可以加(),也可以不加
4 True(),
5 False(),
6 UNKNOWN,
7 EXCEPTION();
8
9 //public abstract String status(boolean runningNot);
10
11 private int a;
12
13 // 如果定义了这个有参数构造函数,那上述枚举值定义只能是带(),且传入参数
14 // private EvalResultTest(int a) {
15 // this.a = a;
16 // }
17 }

 

enum Color
{
RED, GREEN, BLUE;
}

每个枚举都是通过 Class 在内部实现的,且所有的枚举值都是 public static final 的。

以上的枚举类 Color 转化在内部类实现:https://www.runoob.com/java/java-enum.html

1 class Color
2 {
3 public static final Color RED = new Color();
4 public static final Color BLUE = new Color();
5 public static final Color GREEN = new Color();
6 }

 

public enum CurResult {
/**
* 命中
*/
True() { // 内部类
@Override
public String status(boolean runningNot) {
return runningNot ? "0" : "1";
}
@Override
public String toString() {
return "True";
}
},
/**
* 不命中
*/
False() {
@Override
public String status(boolean runningNot) {
return runningNot ? "1" : "0";
}
@Override
public String toString() {
return "False";
}
},
/**
* 未知
*
*/
Unknown() {
@Override
public String status(boolean runningNot) {
return "2";
}
@Override
public String toString() {
return "Unknown";
}
},
/**
* 异常
*/
Exception() {
@Override
public String status(boolean runningNot) {
return "3";
}
@Override
public String toString() {
return "Exception";
}
},
/**
* 超阀值
*/
Overflow() {
@Override
public String status(boolean runningNot) {
return "4";
}
@Override
public String toString() {
return "Overflow";
}
},
/**
* 被降级
*/
Downgrade() {
@Override
public String status(boolean runningNot) {
return "5";
}
@Override
public String toString() {
return "Downgrade";
}
},
/**
* 测试相关命中
*/
Test_True() {
@Override
public String status(boolean runningNot) {
return runningNot ? "0" : "1";
}
@Override
public String toString() {
return "Test_True";
}
},
MISSING() {
@Override
public String status(boolean runningNot) {
return "6";
}
@Override
public String toString() {
return "MISSING";
}
};
public static CurResult valueOf(boolean status) {
return status ? True : False;
}
public abstract String status(boolean runningNot);
}

 


原文链接:https://www.cnblogs.com/wxdlut/p/15491060.html



推荐阅读
  • 提升Python编程效率的十点建议
    本文介绍了提升Python编程效率的十点建议,包括不使用分号、选择合适的代码编辑器、遵循Python代码规范等。这些建议可以帮助开发者节省时间,提高编程效率。同时,还提供了相关参考链接供读者深入学习。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 本文介绍了使用数据库管理员用户执行onstat -l命令来监控GBase8s数据库的物理日志和逻辑日志的使用情况,并强调了对已使用的逻辑日志是否及时备份的重要性。同时提供了监控方法和注意事项。 ... [详细]
  • 本文介绍了在满足特定条件时如何在输入字段中使用默认值的方法和相应的代码。当输入字段填充100或更多的金额时,使用50作为默认值;当输入字段填充有-20或更多(负数)时,使用-10作为默认值。文章还提供了相关的JavaScript和Jquery代码,用于动态地根据条件使用默认值。 ... [详细]
  • 在Windows10系统上使用VMware创建CentOS虚拟机的详细步骤教程
    本文详细介绍了在Windows10系统上使用VMware创建CentOS虚拟机的步骤,包括准备条件、安装VMware、下载CentOS ISO文件、创建虚拟机并进行自定义配置、设置虚拟机的ISO与网络、进行安装和配置等。通过本文的指导,读者可以轻松地创建自己的CentOS虚拟机并进行相应的配置和操作。 ... [详细]
  • Python教学练习二Python1-12练习二一、判断季节用户输入月份,判断这个月是哪个季节?3,4,5月----春 ... [详细]
  • 判断编码是否可立即解码的程序及电话号码一致性判断程序
    本文介绍了两个编程题目,一个是判断编码是否可立即解码的程序,另一个是判断电话号码一致性的程序。对于第一个题目,给出一组二进制编码,判断是否存在一个编码是另一个编码的前缀,如果不存在则称为可立即解码的编码。对于第二个题目,给出一些电话号码,判断是否存在一个号码是另一个号码的前缀,如果不存在则说明这些号码是一致的。两个题目的解法类似,都使用了树的数据结构来实现。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • WPF之Binding初探
      初学wpf,经常被Binding搞晕,以下记录写Binding的基础。首先,盗用张图。这图形象的说明了Binding的机理。对于Binding,意思是数据绑定,基本用法是:1、 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 获取时间的函数js代码,js获取时区代码
    本文目录一览:1、js获取服务器时间(动态)2 ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
author-avatar
KEN
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有