gpt4 book ai didi

java - BuildConfigField 决定如何定义成员(枚举)

转载 作者:搜寻专家 更新时间:2023-11-01 08:17:40 25 4
gpt4 key购买 nike

build.gradle(模块):

productFlavors {
mytest {
...
buildConfigField "boolean", "SHORT_ENUM", "false"
}
mysecondtest {
buildConfigField "boolean", "SHORT_ENUM", "true"
}

在 MyClass 中,我想根据我定义的 buildConfigField 在构建期间定义枚举成员:

public class MyClass {
// members initialization
public enum MYENUM {
if (BuildConfig.SHORT_ENUM) {
FIRST(0),
SECOND(1);
}
else { // SHORT_ENUM is false
FIRST(0),
SECOND(1),
THIRD(2),
FORTH(3);
}
private int value;
MYENUM(int v) {
value = v;
}
}
....
}

但它不起作用。有没有可能做我想做的事?如果是,那么如何?

最佳答案

您不能只在类定义中编写 if 语句。

Java中没有ifdef和ifndef。

您可以做的是为每个产品风格创建 java 代码文件夹,然后在每个文件夹中正确创建枚举定义。

例子:
app/src/debug/java/my/package/MyEnum.java
应用程序/src/beta/java/my/package/MyEnum.java

然后,当您构建 debug 时,它将使用 debug 版本,如果您构建 beta,它将使用 beta 版本。

关于java - BuildConfigField 决定如何定义成员(枚举),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57571415/

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