java枚举学习

Java枚举的学习 一个简单的枚举 public enum UserRole { //系统管理员 ROLE_ROOT_ADMIN, //订单管理员 ROLE_ORDER_ADMIN, // 普通用户 ROLE_NORMAL } 自定义扩充枚举 上面的枚举列子非常简单,仅仅只是单值的情形,而实际项目中用枚举往往只多值用法, 比如,在里面加入角色名-角色编码的对应关系,这也是实际项目中常用的用法。 public enum UserRole2 { ROLE_ROOT_ADM 阅读详情

1.枚举类学习

1.1 定义枚举类

  • 枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,而不是默认继承Object类,因此枚举类不能显示继承其他父类。其中java.lang.Enum类实现了java.lang.Serializable和java.lang.Comparable两个接口。
  • 使用enum定义、非抽象的枚举类默认会使用final修饰,因此枚举类不能派生子类。
  • 枚举类的构造器只能使用private访问控制符,如果省略了构造器的访问控制符,则默认使用private修饰;如果强制指定访问控制符,则只能指定private修饰符。
  • 枚举类的所有实例必须在枚举类的第一行显式列出,否则这个枚举类永远都不能产生实例。列出这些实例时,系统会自动添加public static final 修饰,无须程序员显式添加。
  • 枚举类默认提供了一个values()方法,该方法可以很方便地遍历所有的枚举值。

如下定义周一到周日的常量

//Day.class

//枚举类型,使用关键字enum

enum Day {

    MONDAY, TUESDAY, WEDNESDAY,

    THURSDAY, FRIDAY, SATURDAY, SUNDAY

}

相当简洁,在定义枚举类型时我们使用的关键字是enum,与class关键字类似,只不过前者是定义枚举类型,后者是定义类类型。

1.2 枚举类的实现原理

我们大概了解了枚举类型的定义与简单使用后,现在有必要来了解一下枚举类型的基本实现原理。实际上在使用关键字enum创建枚举类型并编译后,编译器会为我们生成一个相关的类,这个类继承了Java API中的java.lang.Enum类,也就是说通过关键字enum创建枚举类型在编译后事实上也是一个类类型而且该类继承自java.lang.Enum类。

查看反编译Day.class文件:

//反编译Day.class

final class Day extends Enum

{

    //编译器为我们添加的静态的values()方法

    public static Day[] values()

    {

        return (Day[])$VALUES.clone();

    }

    //编译器为我们添加的静态的valueOf()方法,注意间接调用了Enum也类的valueOf方法

    public static Day valueOf(String s)

    {

        return (Day)Enum.valueOf(com/zejian/enumdemo/Day, s);

    }

    //私有构造函数

    private Day(String s, int i)

    {

        super(s, i);

    }

     //前面定义的7种枚举实例

    public static final Day MONDAY;

    public static final Day TUESDAY;

    public static final Day WEDNESDAY;

    public static final Day THURSDAY;

    public static final Day FRIDAY;

    public static final Day SATURDAY;

    public static final Day SUNDAY;

    private static final Day $VALUES[];

 

    static

    {   

        //实例化枚举实例

        MONDAY = new Day("MONDAY", 0);

        TUESDAY = new Day("TUESDAY", 1);

        WEDNESDAY = new Day("WEDNESDAY", 2);

        THURSDAY = new Day("THURSDAY", 3);

        FRIDAY = new Day("FRIDAY", 4);

        SATURDAY = new Day("SATURDAY", 5);

        SUNDAY = new Day("SUNDAY", 6);

        $VALUES = (new Day[] {

            MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY

        });

    }

}

  • ①从反编译的代码可以看出编译器确实帮助我们生成了一个Day类(注意该类是final类型的,将无法被继承)而且该类继承自java.lang.Enum类,该类是一个抽象类(稍后我们会分析该类中的主要方法)。
  • ②除此之外,编译器还帮助我们生成了7个Day类型的实例对象分别对应枚举中定义的7个日期,这也充分说明了我们前面使用关键字enum定义的Day类型中的每种日期枚举常量也是实实在在的Day实例对象,只不过代表的内容不一样而已。注意编译器还为我们生成了两个静态方法,分别是values()和 valueOf()。
  • ③到此我们也就明白了,使用关键字enum定义的枚举类型,在编译期后,也将转换成为一个实实在在的类,而在该类中,会存在每个在枚举类型中定义好变量的对应实例对象,如上述的MONDAY枚举类型对应public static final Day MONDAY;,同时编译器会为该类创建两个方法,分别是values()和valueOf()。到此相信我们对枚举的实现原理也比较清晰。下面我们深入了解一下java.lang.Enum类以及values()和valueOf()的用途。

1.3 枚举的常见方法

图片描述

2.枚举类使用

2.1常量

系统里实现常量的三种方式接口常量、类常量、枚举常量

2.1.1接口常量

写法(1)利弊:用到 DefaultValues.DEFAULT_AP 的含义,必须看类里的注释,知道他表示中心。如果常量很多的话,把所有的常量都放在这一个接口里边,这种方式感觉也不是很友好。

/**

 * 系统默认值

 *

 */

public class DefaultValues {

 

    /**

     * 默认密码

     */

    public static final String DEFAULT_PASSWORD = "000000";

    /**

     * 默认用户类型

     */

    public static final String DEFAULT_USER_TYPE = UserType.NormalUser.value();   

    /**

     * 默认获取api名称

     */

    public static final String DEFAULT_API = "api";

     

    /**

     * 默认系统字符编码

     */

    public static final String DEFAULT_ENCODING = "UTF-8";

     

    /**集群规模*/

    public static final  long CLUSTER_SIZE = 1000;

}

写法(2)利弊:公司的接口常量是在接口里定义静态内部类,他可以把不同的功能的常量类进一步分类。把不同功能的常量放在了接口的内部类里,通过不同的内部类可以清楚的知道一个常量的含义。

public class Constants {

    public static class MimeType{

        public static final String BIN = "application/octet-stream";

        public static final String CSS = "text/css";

        public static final String DOC = "application/msword";

        public static final String DOCX = "";

        public static final String EXE = "application/octet-stream";

        public static final String GTAR = "application/x-gtar";

        public static final String GZ = "application/x-gzip";

        public static final String HTM = "text/html;charset=utf-8";

        public static final String ICO = "image/x-icon";

        public static final String JPEG = "image/jpeg";

        public static final String JPG = "image/jpeg";

        public static final String JS = "application/x-javascript;charset=utf-8";

        public static final String JSON = "application/json;charset=utf-8";

        public static final String FORM = "application/x-www-form-urlencoded; charset=UTF-8";

        public static final String MULTIPART = "multipart/form-data; charset=UTF-8";

        public static final String MHT = "message/rfc822";

        public static final String MHTML = "message/rfc822";

        public static final String MOV = "video/quicktime";

        public static final String MP3 = "audio/mpeg";

        public static final String MPE = "video/mpeg";

        public static final String MPEG = "video/mpeg";

        public static final String MPG = "video/mpeg";

        public static final String PDF = "application/pdf";

        public static final String PPT = "application/vnd.ms-powerpoint";

        public static final String RTF = "application/rtf";

        public static final String SWF = "application/x-shockwave-flash";

        public static final String TAR = "application/x-tar";

        public static final String TXT = "text/plain;charset=utf-8";

        public static final String WAV = "audio/x-wav";

        public static final String XML = "text/xml;charset=utf-8";

        public static final String ZIP = "application/zip";

         

    }

     

    public static class DataState{

        public static final String FLAG_REMOVE = "Y";

        public static final String FLAG_NORMAL = "N";

    }

     

    /**

     * 应用服务器实例运行状态

     */

    public static class ServerASInstanceState{

        public static final int RUNNING = 1;

        public static final int SHUT_OFF = 2;

    }

    /**

     * WebServices接口分析

     */

    public static class WebServicesType{

        /**先接收数据,在返回接口情况的接口 **/

        public static final String IN_OUT = "IO";

        /**先发数据请求,后返回数据的接口 **/

        public static final String OUT_IN = "OI";

        /**只发送数据的接口**/

        public static final String OUT= "O";

        /**只接收数据的接口 **/

        public static final String IN = "I";

    }

     

    /**

     * 任务调度使用

     */

    public static class TaskScheduling{

        /**任务ID **/

        public static final String TASK_ID = "taskID";

        /**任务URL **/

        public static final String TASK_URI = "taskURI";

        /**任务URL **/

        public static final String TASK_NAME = "taskName";

        /**任务目标服务器IP **/

        public static final String TASK_SERVER_IP = "taskServerIp";

        /**任务目标服务器IP **/

        public static final String TASK_SERVER_PORT = "taskServerPort";

         

        /**任务状态启用**/

        public static final int TASK_ENABLED = 1;

         

        /**任务状态禁用**/

        public static final int TASK_DISABLE = 0;

         

        /**每年任务**/

        public static final int TYPE_EVERY_YEAR= 1;

         

        /**每月任务**/

        public static final int TYPE_EVERY_MONTH = 2;

         

        /**每日任务**/

        public static final int TYPE_EVERY_DAY = 3;

         

        /**每周任务**/

        public static final int TYPE_EVERY_WEEK = 4;

         

        /**单次任务**/

        public static final int TYPE_SINGLE = 5;

         

    }

}

2.1.2类常量

虽然有了枚举,可能是由于设计者习惯问题,还有很多人用的类常量, 定义了类常量,用一个Map<Integer, String>来封装常量对应的信息,在static代码块里,类初始化的时候执行一次put。用的时候 ResponseCode.RESP_INFO.get("DATABASE_EXCEPTION");就能取出响应信息 由于项目是前后端分离,在接口文档里需要写上状态码,还得写上状态码对应的提示信息,而且我们的响应类 RespInfo 有message属性,就是保存常量类里状态码对应的信息的。

public class ResponseCode {

 

    /** 系统处理正常 */

    public static final int SUCCESS_HEAD = 0;

 

    /** 系统处理未知异常 */

    public static final int EXCEPTION_HEAD = 1;

 

    /** JSON解析错误 */

    public static final int JSON_RESOLVE = 2;

 

    /** 类型不匹配 */

    public static final int TRANSTYPE_NO = 3;

 

    /** Head - messageID未赋值 */

    public static final int HEAD_messageID = 4;

 

    /** Head - timeStamp未赋值 */

    public static final int HEAD_timeStamp = 5;

 

    /** Head - messengerID未赋值 */

    public static final int HEAD_messengerID = 6;

 

    /** Head - transactionType 未赋值 */

    public static final int HEAD_transactionType = 7;

 

    /** digest校验不通过 */

    public static final int HEAD_DIGEST = 8;

     

    /** src校验不通过 */

    public static final int HEAD_SRC_NULL = 10;

     

    /** 协议包含非法字符 */

    public static final int ILLEGAL_MESSAGE = 11;

 

    /** 数据库异常 */

    public static final int DATABASE_EXCEPTION = 9;

    public static final Map<Integer, String> RESP_INFO = new HashMap<Integer, String>();

 

    static {

        // Head 相关

        RESP_INFO.put(SUCCESS_HEAD, "系统处理正常");

        RESP_INFO.put(EXCEPTION_HEAD, "系统处理未知异常");

        RESP_INFO.put(JSON_RESOLVE, "JSON解析错误");

        RESP_INFO.put(TRANSTYPE_NO, "类型不匹配");

        RESP_INFO.put(HEAD_messageID, "messageID未赋值");

        RESP_INFO.put(HEAD_timeStamp, "timeStamp未赋值");

        RESP_INFO.put(HEAD_messengerID, "messengerID未赋值");

        RESP_INFO.put(HEAD_transactionType, "transactionType未赋值");

        RESP_INFO.put(HEAD_DIGEST, "digest校验不通过");

        RESP_INFO.put(DATABASE_EXCEPTION, "数据库异常");

        RESP_INFO.put(HEAD_SRC_NULL, "src未赋值");

        RESP_INFO.put(ILLEGAL_MESSAGE, "协议包含非法字符");

         

    }

}

2.1.3枚举常量

所有的枚举类都是Enum类的子类,就行Object类一样,只是没有写出来,所以可以枚举类可调用Enum的方法。注意是逗号分隔属性,只有属性后边没有方法的话,最后加不加分号都行。
写法(1)

public enum StateType {

    /**

     * 成功返回状态

     */

    OK(200,"OK"),

     

    /**

     * 请求格式错误

     */

    BAD_REQUEST(400,"bad request"),

    /**

     * 未授权

     */

    UNAUTHORIZED(401,"unauthorized"),

    /**

     * 没有权限

     */

    FORBIDDEN(403,"forbidden"),

     

    /**

     * 请求的资源不存在

     */

    NOT_FOUND(404,"not found"),

    /**

     * 该http方法不被允许

     */

    NOT_ALLOWED(405,"method not allowed"),

    /**

     * 请求处理发送异常

     */

    PROCESSING_EXCEPTION(406,"Handling Exceptions"),

    /**

     *

     * 请求处理未完成

     */

    PROCESSING_UNFINISHED(407,"To deal with unfinished"),

     

    /**

     * 登录过期

     */

    BEOVERDUE(408,"Be overdue"),

     

    /**

     * 用户未登录

     */

    NOT_LOGIN(409,"Not logged in"),

     

    /**

     * 这个url对应的资源现在不可用

     */

    GONE(410,"gone"),

    /**

     * 请求类型错误

     */

    UNSUPPORTED_MEDIA_TYPE(415,"unsupported media type"),

    /**

     * 校验错误时用

     */

    UNPROCESSABLE_ENTITY(422,"unprocessable entity"),

    /**

     * 请求过多

     */

    TOO_MANY_REQUEST(429,"too many request");

 

    private int code;

    private String value = null;

 

    private StateType(int code,String value) {

        this.code = code;

        this.value = value;

    }

 

    public String value() {

        return this.value;

    }

 

    public int getCode() {

        return code;

    }

 

    public static Boolean isValidateStateType(String... stateType) {

        for (int i = 0; i < stateType.length; i++) {

            StateType [] value = StateType.values();

            boolean falg = false;

            for(StateType type : value) {

                if(type.value.equals(stateType[i])) {

                    falg = true;

                }

                 

            }

            if(!falg) {

                return falg;

            }

        }

        return true;

    }

}

 

/*使用*/

public static void main(String[] args) {

    System.out.println("状态码:"+StateType.getCode());

        System.out.println("错误信息:"+StateType.getValue());

}

写法(2)

public enum Level {

    /**

     * 第一层

     */

    One(1),

    /**

     * 第二层

     */

    Two(2),

    /**

     * 第三层

     */

    Three(3),

    /**

     * 第四层

     */

    Four(4),

    /**

     * 第五层

     */

    Five(5);

     

    private int value;

     

    Level(int value) {

        this.value = value;

    }

     

    public int value() {

        return this.value;

    }

     

    public static Boolean isValidateLevel(int level) {

        Level [] value = Level.values();

        boolean falg = false;

        for (Level pl : value){

            if(pl.value == level){

                falg = true;

            }

        }

        return falg;

    }

}

 

/*使用*/

public static void main(String[] args) {

    System.out.println("楼层:"+Level.Three);

}

2.2 switch结合枚举类

JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强。

枚举是声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。枚举是将变量的值一一列出来,变量的值只局限于列举出来的值的范围内。

△注意:枚举只是枚举类型,不能够赋值操作。如下:GREEN默认值为0,但是GREEN不能=0,因为数据类型不一样。枚举中变量未直接赋值,默认等于前一个变量值加一,起始值默认为0。

enum Signal {

 GREEN, YELLOW, RED

}

public class TrafficLight {

 Signal color = Signal.RED;

 public void change() {

  switch (color) {

  case RED:

   color = Signal.GREEN;

   break;

  case YELLOW:

   color = Signal.RED;

   break;

  case GREEN:

   color = Signal.YELLOW;

   break;

  }

 }

}

2.3 向枚举中添加新的方法

如果打算自定义自己的方法,那么必须在enum实例序列的最后添加一个分号(“;”),java中要求必须先定义java实例。

public enum ChannelEnum {

 

    MSG_CENTER_CHANNEL1("msg_center_channel1"),

    MSG_CENTER_CHANNEL("msg_center_channel");

 

    private String channel = null;

 

    private ChannelEnum(String channel) {

        this.channel = channel;

    }

 

    public String getChannel() {

        return this.channel;

    }

}

2.4 实现接口

  • 所有的枚举都继承自java.lang.Enum类。由于Java 不支持多继承,所以枚举对象不能再继承其他类。
  • 如果由枚举类来实现接口里的方法,则每个枚举值在调用该方法时都有相同的行为方式(因为方法体完全一样)。如果需要每个枚举值在调用该方法时呈现出不同的行为方式,则可以让每个枚举值分别来实现该方法,每个枚举值提供不同的实现方式,从而让不同的枚举值调用该方法时具有不同的行为方式。

public interface Behaviour { 

    void print(); 

    String getInfo(); 

} 

public enum Color implements Behaviour{ 

    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4); 

    // 成员变量 

    private String name; 

    private int index; 

    // 构造方法 

    private Color(String name, int index) { 

        this.name = name; 

        this.index = index; 

    } 

//接口方法 

    @Override 

    public String getInfo() { 

        return this.name; 

    } 

    //接口方法 

    @Override 

    public void print() { 

        System.out.println(this.index+":"+this.name); 

    } 

}

2.5 使用接口组织枚举

public interface Food {

    enum Coffee implements Food{ 

        BLACK_COFFEE,DECAF_COFFEE,LATTE,CAPPUCCINO 

    } 

    enum Dessert implements Food{ 

        FRUIT, CAKE, GELATO 

    } 

}

【深度学习3】ubuntu22.04从零开始搭建深度学习环境 ubuntu22.04从零开始搭建深度学习开发环境 阅读详情

相关推荐

CarPlay wired(USB)连接方案

CarPlay的wired(USB)的连接方案要求车载设备至少要支持USB2.0 Hi-Speed,支持USB Host Mode,该模式要求车载设备能够工作在USB device模式下,因为Apple设备在CarPlay中是作为USB Host的。而通常情况下,车载设备USB是工作在USB Host模式的,而外接的USB设备是工作在USB Device模式的,因而在这种情况下的CarPlay wired(USB)连接方案中就需要进行USB的模式切换。模式切换完成后便是Apple设备(USB HOST)的枚

Ke8323的博客 1万+

Java枚举类学习到进阶

枚举类型是Java 5中新增特性的一部分,它是一种特殊的数据类型,之所以特殊是因为它既是一种类(class)类型却又比类类型多了些特殊的约束,但是这些约束的存在也造就了枚举类型的简洁性、安全性以及便捷性。 △有的地方还没有学的透彻,之后会继续学习修改更新本文章 1.枚举类学习 1.1 定义枚举类 枚举类可以实现一个或多个接口,使用enum定义的枚举类默认继承了java.lang.Enum类,...

weixin_34254823的博客 295

保姆级教程:用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信(附完整代码)

本文详细介绍了如何利用GD32F470的EXMC Bank0 Region0与FPGA实现16位并行通信,涵盖硬件连接、寄存器配置、时序优化及FPGA接口设计等关键步骤。通过实例代码和调试技巧,帮助开发者快速掌握高效数据交互技术,提升嵌入式系统设计能力。

weixin_26918763的博客 226

JAVA 枚举类 enum

DEMO1: public class Student { //姓名 private String name; //分数类 private Grade grade; public Student(){} public String getName() { return name; } public void setName(String name) { t

java_utf8的博客 2898

心电图机原理及电路超详细讲解

前置心电放大电路(虚线框:这是隔离电路的分界,在隔离电路分析中知道,完整隔离包括信号隔离(脉宽调制)、控制信号隔离(光电耦合)和电源隔离)后级放大电路。

fcxgfdjy的博客 2万+

一文读懂 MAVLink、PPM、SBUS:无人机通信协议的工作原理与适用场景

本文系统对比无人机领域三大核心通信协议:MAVLink作为全链路数据协议,支持飞控与地面站的双向通信,适合航拍测绘等专业场景;SBUS是数字化的高效控制协议,具备16通道、抗干扰特性,成为中高端设备标配;PPM作为传统模拟协议,成本低廉但性能有限,适合入门级应用。文章深入解析各协议的工作原理、帧结构、适用场景及调试技巧,指出MAVLink侧重状态监控、SBUS/PPM专注控制指令的互补关系,并给出新手选型建议:入门选PPM,进阶用SBUS,开发必备M

bother3000的博客 7124

java基础之枚举类

枚举类相比常量更具优势,主要体现在类型安全和代码可读性上。使用常量(如int类型)无法限制调用者传递无效值(如传递5、6等非法值),而枚举类通过定义有限的枚举实例,可以严格限制参数的取值范围。枚举类本质上是一个final类,构造器私有化,确保只有预定义的实例存在。此外,枚举类支持switch语句、成员变量和方法,提供了更好的封装性和灵活性。因此,枚举类更适合用于表示固定范围的常量集合,如季节、性别等场景。

ChenYiRan123456的博客 1万+

物理学建模及仿真平台Chrono安装

Chrono是一个基于物理学的建模和仿真基础设施,它是在C++中实现的独立于平台的开源设计。一个projectchrono库可以嵌入到一个软件项目中,例如在可变形地形上运行的轮式和履带式车辆、机器人、机械电子系统、顺应性机构和流体固体相互作用现象。系统可以由刚性和柔性/顺应性部件组成,并带有约束、电机和接触;部件可以具有三维形状,以便进行碰撞检测。然而安装还是出现了一些问题,所以在此总结。已经装好visual studio。

Already8888的博客 6501

Java new String getBytes 使用utf8静态枚举 StandardCharsets.UTF_8

StandardCharsets类是Java中的一个工具类,它提供了一组标准字符集常量。StandardCharsets类位于java.nio.charset包中,是一个final类,不能被继承。使用StandardCharsets类可以方便地指定字符集,例如在读取或写入文件时指定字符集,或者在网络通信中指定字符集。这个示例演示了如何使用StandardCharsets类将字符串编码为字节数组,并将字节数组解码为字符串。如果您使用的是 Java 8 或更早的版本,这些常量将不可用。在这个示例中,我们使用。

kfepiza的博客 3155

Robosuite实战:通过Xbox手柄实现机械臂6-DoF精准控制的完整指南

本文详细介绍了如何通过Xbox手柄实现机械臂的6-DoF精准控制,结合Robosuite仿真环境与MuJoCo物理引擎,提供从环境配置到代码实现的完整指南。文章重点解析了手柄映射原理、核心控制代码以及数据采集优化技巧,帮助开发者高效完成机械臂控制任务。

weixin_29169505的博客 419

SimSwap复现指引及代码分析【2023有更新】

我的环境!!!😚😚😚 之后会遇到:还会遇到至此环境配置完毕!下面是所需要的checkpoint。至此环境准备结束。先试试环境是否有问题,图片是代码包中给的。我用的是512的checkpoint,无水印,a是源脸,b是目标脸。输出到./output/result_whole_swapsingle.jpg 如图是可以成功换脸的:(为了方便查看将图像裁剪到了128x128) 表示图像预处理,相应的改为也是一样。不加就是对已经面部对齐的图像进行简单的面部交换。 加上就是无水印。 交换一张图片中的所有面孔。

zik的博客 2047

【Java】枚举类型

枚举类型是一种特殊的数据类型,用于定义一组固定的命名常量。枚举类型提供了一种更强大、更安全和更易读的方式来表示一组相关的常量。在Java中,枚举类型是通过使用enum关键字来定义的。枚举类型可以包含一个或多个枚举常量,每个常量都是枚举类型的实例。枚举常量是在枚举类型中预先定义的,它们是唯一的、已命名的对象。

qq_61635026的博客 2万+

Python与CAD系列基础篇(十)图形复制、移动、删除

①通过pyautocad连接AutoCAD进行处理②通过ezdxf处理dxf格式文件。进行图形复制、移动、删除的方法。pyautocad方式。pyautocad方式。

weixin_43894929的博客 2210

Java 枚举学习笔记

访问修饰符] enum 枚举类名 {枚举值1, 枚举值2, ..., 枚举值N;SUCCESS(200, "成功"),ILLEGAL_ARGUMENT(401, "无效参数"),NEED_LOGIN(403, "权限不够"),ERROR(500, "服务器错误");枚举是一种强大的数据类型,用于表示一组固定的常量。枚举提供了类型安全、代码简洁和可读性高的优势。通过为枚举添加方法和字段,可以实现更复杂的功能。

2301_78498098的博客 425

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Java学习笔记】枚举

【Java学习笔记】枚举

在csdn分享更多技术知识,相互交流 1262

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

java 枚举学习汇总

收藏比较好的博文,方便自己日后查看和学习。 java 枚举(enum) 全面解读 Java的枚举enum示例详解 Java 枚举(enum) 详解7种常见的用法 深入理解Java枚举类型(enum)

right_hou的博客 224

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

枚举 -- java学习笔记

本文章是通过学习B站视频韩顺平30天学java写的笔记 2022/2/20

蓝鸟x的博客 413

【新手向】从零开始学习Java(Day20)枚举

一起从零开始成就Java大神

黎明前的黑暗最为深邃,但只要你坚持,曙光终会划破天际。 1251

15-Java枚举类详解【干货笔记】,2024Java进阶学习资料

public enum 枚举类名 {// 枚举项1, 枚举项2, 枚举项3, …;// 私有构造方法// 成员变量// 成员方法3、使用如果需要使用很多常量,并且这些常量用在同一个业务场景,那么可以使用枚举类型。【注意】枚举类型都继承java.lang.Enum,所以枚举类不能再继承其它类型。定义枚举项时,多个枚举项之间需要使用隔开,通常使用大写。枚举类型的构造方法使用private修饰通过枚举类名.枚举项名称去访问指定的枚举项枚举类型可以实现接口3.1、普通用法。

2301_77118221的博客 466

Java学习之枚举

最近在浏览博客的时候,看到了很多关于java枚举的文章。正好前段时间也使用上了枚举这个知识点,但是只是对他人的复制黏贴,并没有去深入了解。 Java枚举在jdk1.5就已经出来了,而我现在才真正的去了解和使用它,实在是有点难以启齿了。其实网上已经有了很多详细的文章。但是还是想自己亲自写一篇,就是想记录下自己的学习历程,给自己加加油!! “有时恰恰因...

DDLoveWorld的博客 1307

学习Java——枚举

把时间分给睡眠,分给书籍,分给运动,分给花鸟树木,还有山川湖水,而不是浪费在无用的人和事上,当你开始做时间的主人,哪些烦恼与不安也就自然烟消云散了

L170311的博客 1417

Java基础学习笔记-枚举

枚举类都是继承了枚举类型:java.lang.Enumn。枚举的构造器都是私有的,枚举对外不能创建对象。枚举的作用:是为了左信息的标志和信息的分类。枚举类的第一行默认都是罗列枚举对象的名称的。第一行都是罗列枚举类实例的名称。枚举是Java中的一种特殊类型。枚举都是最终类,不可以被继承。修饰符 enum 枚举名称{枚举类相当于是多例模式。

m0_57047579的博客 242

Java学习总结——枚举

拾壹——快速归类整型常数 一、枚举的简介 在 JDK 1.5 以前,Java 并不支持枚举数据类型。在 JDK 1.5,Java 引入的一种新类型——枚举类型( Enumerated Type )。定义时,它使用 enum 关键字标识。例如,表示一周的星期几,用 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY、SATURDAY 就可表示为一个枚举...

原来是松松呀~ 581

Java基础——Java中的枚举类(深入理解,配合代码学习更轻松)

使用enum关键字定义枚举类/*枚举类的使用如果枚举类中只有一个对象,可以作为单例模式实现二、如何定义枚举类方式一:JDK5.0之前,自定义枚举类方式二:JDK5.0时,可以使用enum关键字定义枚举类三、enum类中的常用方法values()方法:返回枚举类型的对象数据。该方法可以很方便的遍历所有的枚举值valueOf(String str):可以吧一个字符串转为对应的枚举类对象,要求字符串必须是枚举类对象的名字,如不是,会有运行时异常。

2401_83412285的博客 832

Java枚举学习

Java枚举学习 说明:作者才疏学浅,本文仅为作者学习笔记,如果帮助到后来者,不胜荣幸,另外本文参考了其他大佬的讲解和代码,链接在下方贴出 参考链接: Java 枚举(enum) 详解7种常见的用法 参深入理解Java枚举类型(enum) 借助一个常见的枚举例子,了解一下枚举的基本概念 enum Day { MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY } 枚举是什么 枚举是java5提供的新特性之一,我们可以

weixin_44617963的博客 216

java枚举类学习

1、枚举类基础(enum 有点像 class) 定义枚举类相当于定义类,只不过这个类有多少实例都是固定创建了的。 枚举类:Signal package com.herenit.common.biz.util.enums; /** * 这个定义枚举相当于定义类,只不过这个类有多少实例都是固定创建了的。 * @author chenyufeng * */ public enum Signal ...

q358190505的博客 192
上一篇: JAVA 同步实现原理
下一篇: MyBatis理解与掌握(动态SQL)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值