Dor*_*ori 5 java android constants
我的理解是,static final在使用Java时,编译时会内联常量.
查看使用版本感知组件 - 添加切换逻辑以及使用Build.VERSION.SDK_INT和Build.VERSION_CODES混淆我,就好像这两个常量值在编译时内联,这种方法将毫无用处.我在这里错过了什么?
谢谢 :)
编辑:它们是否在抽象类中的静态方法中更改此编译时内联?
内联的是可以在编译时确定的常量,例如:
private final int CONST = 1;
Run Code Online (Sandbox Code Playgroud)
如果你检查源代码(它是旧版本,但我认为它没有太大变化),常量如下所示:
public static final String SDK = getString("ro.build.version.sdk");
Run Code Online (Sandbox Code Playgroud)
这是getString方法:
private static String getString(String property) {
return SystemProperties.get(property, UNKNOWN);
}
Run Code Online (Sandbox Code Playgroud)
所以这个常量不能在编译时确定。
| 归档时间: |
|
| 查看次数: |
224 次 |
| 最近记录: |