enum values 的获取
Closed this issue · 0 comments
hsiaosiyuan0 commented
-
如果没有自定义的构造函数,则 values 为空
-
如果有自定义的构造函数,且形参 params 满足:
params.length == 1 && ["string", "integer", "long", "short"].contains(params[0].type)
则会读取 clinit 方法中的字节码,来取回构造函数的实参
-
如果有自定义的构造函数,但是形参不符合条件的,则会在控制台打印提示,不过不终止程序,返回 values 为空 (可调整为抛异常并终止程序)