public enum Animal{
DOG,CAT;
}javac转class class用jad反编译
// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://www.kpdus.com/jad.html
// Decompiler options: packimports(3)
// Source File Name: Animal.java
public final class Animal extends Enum
{
public static Animal[] values()
{
return (Animal[])$VALUES.clone();
}
public static Animal valueOf(String s)
{
return (Animal)Enum.valueOf(Animal, s);
}
private Animal(String s, int i)
{
super(s, i);
}
public static final Animal DOG;
public static final Animal CAT;
private static final Animal $VALUES[];
static
{
DOG = new Animal("DOG", 0);
CAT = new Animal("CAT", 1);
$VALUES = (new Animal[] {
DOG, CAT
});
}
}可以看到枚举相比较两个int常量是比较占内存的
动态代理
https://www.cnblogs.com/flyoung2008/archive/2013/08/11/3251148.html
本文详细解析了Java中枚举类型的实现方式,包括其内部结构、如何创建枚举实例及提供的核心方法。同时,通过一个具体的例子展示了枚举类的定义,并解释了它相较于简单整型常量的优势。
966

被折叠的 条评论
为什么被折叠?



