gpt4 book ai didi

java - "final static variables "在 Java (Android) 中高效吗?

转载 作者:行者123 更新时间:2023-12-01 23:48:31 24 4
gpt4 key购买 nike

我正在 Android 中开发一个应用程序。我使用很多“final static”变量来定义常量。但我对应用程序使用的内存非常严格。

也许我有 200 个常量(int、string、double,...)。使用使用数字的常量变量进行编程要好得多。但是,这有多有效?

使用 C 我可以使用 #define,当我输入时:

#define constant 10
int var2 = constant;
int var3 = constant;

编译器将代码翻译为:

int var2 = 10;
int var3 = 10;

但是使用 Java,我认为所有这些变量都保留在内存中。对于java来说,有像#define这样高效的东西吗?

最佳答案

如果你想使用类似于 C 的 ifdef 的东西,你应该这样做:

final static boolean COMPILE_THIS = false;

这将导致以下代码不成为您的程序的一部分(“编译”):

if (COMPILE_THIS) {
printToScreen("HELLO");
}

当 Google 不想“编译”部分 Android 代码时,他们会在 Android 代码中大量使用此技术。

关于java - "final static variables "在 Java (Android) 中高效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16649902/

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