vip*_*per 4 java enums android design-patterns static-variables
我对使用enum和使用 ajava class和定义有一个小问题static variables。
例如,我们可以定义枚举,如下所示:-
public enum RequestCodeEnum {
TRANSACTION(1), REPORTS(2), BUDGET(3), CATEGORY(4), CURRENCY(5);
private int value;
private RequestCodeEnum(int value) {
this.value = value;
}
public int getCode(){
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
对于同样的事情,我们可以使用带有静态变量的 java 类,例如:-
public class ActivityRequestCode {
public static int TRANSACTION_CODE = 1;
public static int REPORTS = 2;
public static int BUDGET = 3;
public static int CATEGORY = 4;
public static int CURRENCY = 5;
}
Run Code Online (Sandbox Code Playgroud)
为了调用这两个类,我们可以这样做:-
int i = RequestCodeEnum.CATEGORY.getCode();
int j = ActivityRequestCode.TRANSACTION_CODE;
Run Code Online (Sandbox Code Playgroud)
我想知道它会产生什么区别,或者这些解决方案是否是彼此的替代解决方案。7
谢谢。
不同之处在于,常量在 Android 上更受青睐,因为它们消耗的内存更少。
枚举通常需要比静态常量多两倍多的内存。您应该严格避免在 Android 上使用枚举。
请参阅https://developer.android.com/topic/performance/memory.html
| 归档时间: |
|
| 查看次数: |
1775 次 |
| 最近记录: |