gpt4 book ai didi

java - Android 版本检查和静态最终常量的内联

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:57:52 24 4
gpt4 key购买 nike

据我了解,static final 常量在使用 Java 时会在编译时内联。

查看Using the Version-Aware Component - Add the Switching Logic和使用 Build.VERSION.SDK_INTBuild.VERSION_CODES让我感到困惑,好像这两个常量值都在编译时内联了这种方法是无用的。我在这里缺少什么?

谢谢:)

编辑:它们在抽象类中的静态方法中这一事实是否会改变这种编译时内联?

最佳答案

内联的是可以在编译时确定的常量,比如:

private final int CONST = 1;

如果您检查 source code (这是一个旧版本,但我想它没有太大变化),常量如下所示:

public static final String SDK = getString("ro.build.version.sdk");

这是 getString 方法:

private static String getString(String property) {
return SystemProperties.get(property, UNKNOWN);
}

因此无法在编译时确定常量。

关于java - Android 版本检查和静态最终常量的内联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12321804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com