得到变量名我有一个类型的Java数组双与用于存储值那么变量名:爪哇 - 从双阵列
double [] countArray = {teaCount, hotMealCount, drinkWaterCount, phoneCallCount};
我希望通过它的索引打印变量出了名。
例如如果我请求countArray[0]
,它将返回teaCount
而不是存储的双倍数。
得到变量名我有一个类型的Java数组双与用于存储值那么变量名:爪哇 - 从双阵列
double [] countArray = {teaCount, hotMealCount, drinkWaterCount, phoneCallCount};
我希望通过它的索引打印变量出了名。
例如如果我请求countArray[0]
,它将返回teaCount
而不是存储的双倍数。
如果你想你需要存储这些
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);
这两个存储名称找到它的价值。
你想要做什么是不可能的这种方法。一个解决方案将有一个Map<String, Double>
您存储的名称作为关键和计数作为Map
中的值。
实际上,变量名称是暂时性的,您以后无法访问该名称。而且,如果向数组添加某些内容,则不会将该变量按名称添加到数组中,而是将该值添加到数值位置。
Yor正在存储字符串,而不是数组中的double值。
如果要打印索引值,只需使用:
的System.out.println(countArray [0]);
而且会打印teaCount。
希望它有效。
这不是他要求的。再次阅读问题。他有一个存储双变量的数组,他希望获取存储在其数组的特定索引中的变量的名称。 – goncalopinto
你不能做到这一点,你所希望的方式,但Map
coould您的解决方案:
Map<String, Double> count = new HashMap<String, Double>();
count.put("teaCount", 1.5);
count.put("hotMealCount", 2.5);
// etc
count.get("teaCount"); // 1.5
只是一个说明:你不能在容器中使用double,你必须使用Double(所有的装箱/拆箱)。图书馆,它是http://trove.starlight-systems.com/ – Exceptyon
我认为地图对于这个问题更好。 –
使用地图,Java不能这样工作 – MadProgrammer