我已经建立了这种数据枚举:enum Sexo { HOMBRE("H"), MUJER("M"), OTRO("O"); private String sexo; private Sexo(String sexo){ System.out.println("constructor del tipo enum"); this.sexo=sexo; } }然后,在 Main 方法中,我只是这样做:public static void main(String[] args) { Sexo sexo1 = Enum.valueOf(Sexo.class, "HOMBRE"); Sexo sexo2 = Enum.valueOf(Sexo.class, "MUJER"); Sexo.valueOf("OTRO");}然后,我在控制台上有这个:constructor del tipo enumconstructor del tipo enumconstructor del tipo enum我知道我有一个对每个枚举类型的构造函数的调用,其中包含句子“Sexo”(枚举类型的名称)。但是:为什么构造函数只运行一次?请注意,我有两个实例和一个对类的直接调用。
1 回答
慕侠2389804
TA贡献1719条经验 获得超6个赞
它不是valueOf
调用构造函数的方法。
enum
首次使用类时,会为每个文字调用an 的构造函数。所以在你的情况下,那是在第一次调用Enum.valueOf
.
对构造函数的三个调用是由三个文字而不是您对 的三个调用引起的valueOf
。
添加回答
举报
0/150
提交
取消