我想知道是否可以根据变量名称创建属性。要更具体,请参阅以下示例。
for(int i = 0; i < 10; i++){
String number+i = i;
}
这意味着每个属性都将具有由其值 i 扩展的基本名称“number”。因此,我可以执行以下操作(假设这些将被存储和访问,并忽略属性/变量名称不应包含数字的事实,但您明白了):
System.out.println(number5); //You could do the same example with Strings and not numbers
显然第一部分无法编译,但我认为摘录清楚地说明了我要问的问题。有没有任何程序语言可以做到这一点?或者 Java 有什么技巧可以实现这一点吗?
但是不拥有它背后的原因是什么?显然,如果可能的话,属性可以存储两个变量值(属性的名称和值本身),这可能会导致困惑。但这是不拥有它的唯一原因还是还有其他原因?
最佳答案
您应该研究 Map(例如 HashMap 实现),这将允许您为属性拥有动态键。
Map<String, Object> newMap = new HashMap<>();
newMap.put("whatever", "Value 1");
for(int i = 0; i < 10; i++){
newMap.put(number+i, i);
}
关于java - Java中可以有变量属性名吗?如果没有,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47760465/