java语言基础之enum

java语言中一个类型叫做enum,是一个枚举类型,C、C++中也都有,是一种方便我们定义常量的类!说得再多都显苍白,让我们来看源码,编译器是怎么解释的!

先看demo:

public enum Test {
    GetSessionId("getSessionId"), GetCheckCode("getCheckCode");// 调用两次构造方法
    private final String action;

    private Test(String action) {
        this.action = action;
    }

    public String getAction() {
        return action;
    }

    public static void main(String[] args) {
        String string = GetSessionId.getAction();// 得到值
        if ("getSessionId".equals(string)) {
            System.out.println(true);
        }
    }
}

再看javap,反编译.class的结果:

public final class effective_java.Test extends java.lang.<strong><span style="font-size:18px;background-color: rgb(51, 51, 153);">Enum<effective_java.Test></span></strong> {

        public <span style="font-size:18px;"><strong style="background-color: rgb(102, 0, 204);">static final</strong></span> effective_java.Test GetSessionId;
        public <strong><span style="font-size:18px;background-color: rgb(102, 0, 204);">static final</span></strong> effective_java.Test GetCheckCode;

        static {
        };

        public java.lang.String getAction();

        public static void main(java.lang.String[]);
    
        public static effective_java.Test[] values();
    
        public static effective_java.Test valueOf(java.lang.String);
    }
现在看来enum简单多了吧,enum就是一个继承自Enum,封装了常量,并提供一些方法的类。但是如何对性能要求高的话,还是不要使用enum,虽然写起来简单,但是是用性能换来的!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值