Java 使用连接生成代码?
有没有一种方法可以通过在Android studio/eclipse中使用串联来创建代码构建代码 换句话说,我有两组字符串,一组用于我处理的每个国家ZA和KE。他们有两个不同的EULA 所以我想拉一下与各自国家相关的绳子Java 使用连接生成代码?,java,android,Java,Android,有没有一种方法可以通过在Android studio/eclipse中使用串联来创建代码构建代码 换句话说,我有两组字符串,一组用于我处理的每个国家ZA和KE。他们有两个不同的EULA 所以我想拉一下与各自国家相关的绳子 String message = mContext.getString(R.string.eula_string_za); 上面是输出代码的示例。有什么方法可以基于If语句来创建它吗 String str = "mContext.getString(R.string.eula
String message = mContext.getString(R.string.eula_string_za);
上面是输出代码的示例。有什么方法可以基于If语句来创建它吗
String str = "mContext.getString(R.string.eula_string_";
if (something = "ZA") {
str += "za);";
} else {
str += "ke);";
}
因此,如果选择的国家为ZA,则输出代码应为
mContext.getString(R.string.eula_string_za);
如果是这样的话,那应该是这样的
mContext.getString(R.string.eula_string_ke);
然后结果将从strings中提取正确的字符串。xml?Java是一个已编译的代码,而不是已执行的代码,您不能像在解释语言中那样以这种方式编写代码 在android中管理不同语言的最佳方法是为每种语言使用string.xml文件。 请看本教程,它将对您有很大帮助:
如果你想走这条路,你可以尝试使用反射。如果要使用反射,请查看 您也可以使用相同的if语句来查找正确的字符串,而不是首先使用if语句生成代码字符串:
String str;
if (something.equals("ZA")) {
str = mContext.getString(R.string.eula_string_za);
} else {
str = mContext.getString(R.string.eula_string_ke);
}
请注意,您的条件something=ZA并不像您认为的那样:它将字符串ZA分配给某个对象,然后将自身计算为ZA,因此这甚至不会编译。正确的方法是某物==ZA,但即使是这个。你需要使用。有些人甚至认为你应该用另一种方式来使用它,例如ZA.equalssomething来避免NullPointerException
另一种可能是首先为所有EULA构建一个从county到相应字符串ID的映射,然后要求映射返回正确的映射
但最干净的解决方案可能是使用内置机制的机器人。谢谢,它不是基于语言,而是基于各国的政策,条款和条件是不同的。我不知道它的合法性,我只是让应用程序lol