我有一个类型为double的Java数组,其变量名用于存储值,如下所示:
double [] countArray = {teaCount, hotMealCount, drinkWaterCount, phoneCallCount};
我希望用它的索引来打印变量的名称。
e.g。如果我请求countArray[0]
,则会返回teaCount
而不是存储的双倍。
答案 0 :(得分:4)
如果您需要存储这些
所需的名称String[] countArray = {"teaCount", "hotMealCount", "drinkWaterCount", "phoneCallCount"};
虽然您很可能想要Map<String, Double>
,例如
Map<String, Double> map = new LinkedHashMap<>();
map.put("teaCount", teaCount);
map.put("hotMealCount", hotMealCount);
map.put("drinkWaterCount", drinkWaterCount);
map.put("phoneCallCount", phoneCallCount);
它存储名称和值。
答案 1 :(得分:3)
你不能按照你想要的方式去做,但Map
可以成为你的解决方案:
Map<String, Double> count = new HashMap<String, Double>();
count.put("teaCount", 1.5);
count.put("hotMealCount", 2.5);
// etc
count.get("teaCount"); // 1.5
答案 2 :(得分:2)
使用此方法无法实现您的目标。解决方案是使用Map<String, Double>
将名称存储为密钥,将计数存储为Map
中的值。
实际上,变量名称是临时的,您以后无法访问该名称。如果向数组中添加内容,则不会按名称将变量添加到数组中,而是添加值位置。
答案 3 :(得分:0)
你是存储字符串,而不是数组中的双重值。
如果要打印索引的值,只需使用:
的System.out.println(countArray [0]);
这将打印teaCount。
希望它有效。