Java快速问题;“动态”;变量
假设我有一个从配置文件读取信息的应用程序。假设每次我在配置文件中遇到“Hello”这个词,我都希望能够创建一个String类型的变量,并将其命名为Hello0、Hello1、Hello2等等Java快速问题;“动态”;变量,java,variables,configuration,Java,Variables,Configuration,假设我有一个从配置文件读取信息的应用程序。假设每次我在配置文件中遇到“Hello”这个词,我都希望能够创建一个String类型的变量,并将其命名为Hello0、Hello1、Hello2等等 我知道这样的动态变量在编程中是不可能的。但是会有一些解决办法吗?比如让用户决定有多少个变量 听起来您只需要一个列表——或者如果您需要按名称访问它们,可能需要一个映射。(所以“Hello”映射到一个字符串值列表。)听起来您只需要一个列表,或者如果您需要按名称访问它们,可能需要一个映射。(所以“Hello”映射
我知道这样的动态变量在编程中是不可能的。但是会有一些解决办法吗?比如让用户决定有多少个变量 听起来您只需要一个
列表
——或者如果您需要按名称访问它们,可能需要一个映射
。(所以“Hello”映射到一个字符串值列表。)听起来您只需要一个列表,或者如果您需要按名称访问它们,可能需要一个映射。(所以“Hello”映射到字符串值列表。)哈希映射非常适合存储此类信息
hashMap.put("Hello0", string);
存储您的信息
hashMap.get("Hello0");
把它拔出来
如果希望这些变量是“类”(成员)变量,可以将hashmap设置为成员变量,以便它在类的生命周期中保持不变
这是很常见的。许多动态语言(如Ruby)实际上对所有变量都使用hashmaps,但它们隐藏了语法,因此您可以像在任何语言中一样访问它们
如果语法真的让您感到不适,请按如下方式启动您的类:
public class MyClass {
private HashMap<String, Object> vars=new HashMap();
private var(String s, Object o) {
vars.put(s, o);
}
private Object var(String s) {
return vars.get(s);
}
}
为了获得更好的语法。(但要注意第一个例子——如果您在查找“自动装箱”时遇到问题,因为当您将int作为对象传递时,Java就是这样做的)哈希映射非常适合存储此类信息
hashMap.put("Hello0", string);
存储您的信息
hashMap.get("Hello0");
把它拔出来
如果希望这些变量是“类”(成员)变量,可以将hashmap设置为成员变量,以便它在类的生命周期中保持不变
这是很常见的。许多动态语言(如Ruby)实际上对所有变量都使用hashmaps,但它们隐藏了语法,因此您可以像在任何语言中一样访问它们
如果语法真的让您感到不适,请按如下方式启动您的类:
public class MyClass {
private HashMap<String, Object> vars=new HashMap();
private var(String s, Object o) {
vars.put(s, o);
}
private Object var(String s) {
return vars.get(s);
}
}
为了获得更好的语法。(但要注意第一个例子——如果您在查找“自动装箱”时遇到问题,因为当您将int作为对象传递时,Java就是这样做的)在运行时,变量名没有任何意义。你能补充一些关于你想做什么的细节吗?但是变量的数量,这是我在运行时试图通过配置文件控制的,变量名没有任何意义。你能补充一些关于你想做什么的细节吗?但是变量的数量,这就是我试图通过配置文件控制的,你是人工智能吗?总是登录--速度快得吓人,准确得吓人。谁给你编码的石头!恭喜你,乔恩,你刚通过图灵测试。你是人工智能吗?总是登录--速度快得吓人,准确得吓人。谁给你编码的石头!恭喜你,乔恩,你刚通过图灵测试。