Java枚举简记

目录

枚举的定义与使用:

枚举类常用的方法:

values()方法(静态方法):

ordinal()方法(实例方法):

valueOf()方法(静态方法):

toString()方法(实例方法):

可以向枚举类添加自定义的方法:

对枚举变量使用switch语句:


枚举的定义与使用:

1、枚举是一种引用数据类型。

2、枚举定义在类的位置。

3、枚举类型的定义:enum 枚举类型名{  枚举值1,枚举值2......  }    。

enum Season{
    spring,summer,autumn,winter;
    // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天
    // 系统会自动添加 public static final 修饰
} 

4、要用枚举类型的变量来接收枚举类型。

Season s = Season.autumn;

4、结果只有两种情况的,建议使用布尔类型。结果如果超过两种并且可以全部列举出来,建议使用枚举类型。例如:颜色、四季、星期等都可以使用枚举类型。

5、枚举编译之后也是生成class文件。

6、枚举中的每一个值可以看做是常量。

7、枚举类型的变量只能存储这个类型声明中给定的某个枚举值,或特殊值null表示这个变量没有设置任何值。

8、两个枚举类型的值之间的比较可以直接使用 “==” ,并不需要调用 equals() 。

枚举类常用的方法:

values()方法(静态方法):

values( ) 方法可以将枚举的所有成员以数组形式返回,也可以通过该方法获取枚举类型的成员。

enum Season{
    spring,summer,autumn,winter;
    // 常量有 spring, summer, autumn,winter,分别表示春天,夏天,秋天,冬天
    // 系统会自动添加 public static final 修饰
}
 
public class SeasonEnum {
   public static void main(String[] args) {
        // 迭代季节
        for (Season season : Season.values()) {
            System.out.println(season);
        }
   }
}

运行结果:

ordinal()方法(实例方法):

ordinal() 方法可以获取一个成员在枚举中的索引位置。

Color类型的变量就是Color的一个实例对象,可以调用Color枚举类的实例方法

enum Season{
    spring,summer,autumn,winter;
}
 
public class SeasonEnum {
   public static void main(String[] args) {
        // 迭代季节
        for (Season season : Season.values()) {
            // ordinal可以找到每个枚举常量的索引,就像数组索引一样。
            System.out.println(season+"  索引为  "+season.ordinal());
        }
   }
}

运行结果:

valueOf()方法(静态方法):

valueOf()方法返回指定字符串值的枚举常量。

可以调用自定义的枚举类的valueOf方法:

public class test {
    public static void main(String[] args) {
        Season season = Season.valueOf("summer");
    }
}

enum Season{
    spring,summer,autumn,winter;
}

也可以调用Enum父类的valueOf方法:

public class test {
    public static void main(String[] args) {
        Season season = Enum.valueOf(Season.class,"spring");
    }
}

enum Season{
    spring,summer,autumn,winter;
}

toString()方法(实例方法):

valueOf()方法返回指定枚举常量的名称(String类型)。

public class test {
    public static void main(String[] args) {
        String s = Season.spring.toString();
    }
}

enum Season{
    spring,summer,autumn,winter;
}

打印时也会调用toString方法。

可以向枚举类添加自定义的方法:

public class test {
    public static void main(String[] args) {

        // 调用getName静态方法
        System.out.println(Color.getName(1));

        // Color类型的变量就是Color的一个实例对象,可以调用Color枚举类的实例方法
        Color color = Color.RED;
        color.getName();
        color.setName("粉红色");
        color.getIndex();
        color.setIndex(0);

    }
}

public enum Color {
    // 调用自身的构造方法
    RED("红色", 1), GREEN("绿色", 2), BLANK("白色", 3), YELLO("黄色", 4);
    
    // 成员变量
    private String name;
    private int index;
    
    // 构造方法
    // 枚举类中的构造方法默认是静态的且必须是静态的,private修饰符可省略。
    private Color(String name, int index) {
        this.name = name;
        this.index = index;
    }
    // 普通方法
    public static String getName(int index) {
        for (Color c : Color.values()) {
            if (c.getIndex() == index) {
                return c.name;
            }
        }
        return null;
    }
    // get set 方法
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getIndex() {
        return index;
    }
    public void setIndex(int index) {
        this.index = index;
    }
}

对枚举变量使用switch语句:

JDK1.6之前的switch语句只支持int,char,enum类型,1.6版本之后可使用枚举类型。

enum Signal {
    GREEN, YELLOW, RED
}

public class test {
    public static void main(String[] args) {
        Signal signal = null;
        switch (signal) {
            case RED:
                System.out.println(1);
                break;
            case YELLOW:
                System.out.println(2);
                break;
            case GREEN:
                System.out.println(3);
                break;
        }
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 等保2.0标准对技术安全要求主要包括信息安全类要求(简记为x)、服务保证类要求(简记为s)、其他安全保护类要求(简记为g)和数据设备类要求(简记为f)。 a. 信息安全类要求(x)是等保2.0标准的一项重要要求,它涉及了信息系统的安全保护、安全管理和信息安全技术的实施要求,包括身份认证、访问控制、审计、加密等内容。 b. 服务保证类要求(s)也是等保2.0标准的一项重要要求,它主要围绕着信息系统的可用性、可靠性和稳定性进行要求,包括灾备备份、容灾恢复、业务连续性等内容。 c. 其他安全保护类要求(g)是等保2.0标准的一项综合要求,主要涉及到对软硬件安全配置、网络安全和物理环境安全等方面的要求,包括网络隔离、漏洞修复、环境监控等内容。 d. 数据设备类要求(f)是等保2.0标准专门对数据安全进行要求的一项内容,它主要包括数据备份、数据恢复、数据存储、数据传输等方面的安全要求。 综上所述,a、b、c、d选项所描述的等保2.0标准对技术安全要求的分工是正确的。 ### 回答2: 等保2.0标准对技术安全要求主要包含了信息安全类要求、服务保证类要求、其他安全保护类要求和数据设备类要求。 a. 信息安全类要求指的是对信息系统的各种组成部分、信息传输和处理过程以及相关的信息安全协议、算法等进行安全要求和控制。这是等保2.0标准非常重要的一部分。 b. 服务保证类要求主要涉及系统的可用性、可靠性、灾备能力、响应能力等方面的要求。这些要求旨在确保信息系统随时可用,并且能够及时处理异常情况。 c. 其他安全保护类要求主要包括物理环境安全、人员安全、网络安全、应用软件安全等方面的要求。这些要求涉及到信息系统运行环境的各个方面和安全管理控制的要求。 d. 数据设备类要求主要涉及到数据的存储、传输、备份、还原等方面的要求。这些要求着重保护重要数据的安全性和完整性。 所以以上说法都正确,它们都是等保2.0标准对技术安全方面的要求的不同分类。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秦矜

对你有帮助的话,请我吃颗糖吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值