什么是Enum Enum是自Java 5 引入的特性,用来方便Java开发者实现枚举应用。 为什么会有Enum
然而上面的还是有不尽完美的地方
概括而言,传统枚举有如下两个弊端
枚举原理是 什么首先,为了探究枚举的原理,我们先简单定义一个枚举类,这里以季节为例,类名为Season,包含春夏秋冬四个枚举条目 然后 从上反编译结果可知
static代码块
其中
swtich中的枚举
不过,通常情况下switch-case支持类似int的类型,那么它是怎么做到对Enum的支持呢,我们反编译上述方法看一下字节码的真实情况.
枚举与混淆 在Android开发中,进行混淆是我们在发布前必不可少的工作,混下后,我们能增强反编译的难度,在一定程度上保护了增强了安全性. 使用proguard优化 使用Proguard进行优化,可以将枚举尽可能的转换成int。配置确保代码生效 当我们使用gradlew打包是,看到类似下面的输出,即Number of unboxed enum classes:1 代表已经将一个枚举转换成了int的形式。 |
| 本文出处: http://www.toutiao.com/a6426197555177488641/ |
|
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系
[邮箱地址] 删除
|