n0p*_*0pe 1 java variables configuration
假设我有一个从配置文件中读取信息的应用程序.让我们说每次在配置文件中遇到单词"Hello"时,我希望能够创建一个String类型的变量并将其命名为Hello0,Hello1,Hello2等等......
我知道这样的动态变量在编程中是不可能的(大部分).但是会有某种解决方法吗?就像让用户决定要拥有多少变量一样?
哈希映射非常适合存储此类信息.
hashMap.put("Hello0", string);
Run Code Online (Sandbox Code Playgroud)
存储您的信息
hashMap.get("Hello0");
Run Code Online (Sandbox Code Playgroud)
拉出来.
如果你想让它们成为"类"(成员)变量,你可以使hashmap成为一个成员变量,这样它就会坚持在类的生命周期中.
这很常见.像Ruby这样的许多动态语言实际上都会对所有变量使用哈希映射,但是它们会隐藏语法,因此您可以像使用任何语言一样访问它们.
如果语法真的让你烦恼,那就像这样开始你的课:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后你可以在班上的任何地方使用:
var("var1", 5); // create or update variable 1 to the value 5
System.out.println("value ="+var("var2")); // get variable
Run Code Online (Sandbox Code Playgroud)
为了更好的语法.(但要注意第一个例子 - 如果你有问题,请查看"Autoboxing",因为这是Java在将int作为对象传递时所做的事情)
| 归档时间: |
|
| 查看次数: |
152 次 |
| 最近记录: |