如何在 java 中的地图或关联数组中使用变量

how to use variables in maps or associative array in java

问题:
我有 3 个整数值。

integer val1 = 23 ;  
integer val2 = 14 ;   
integer val3 = 6;  

我需要将它们与 IP 相关联。所以我试过了。

Map<String, String> map = new HashMap<String, String>();
map.put("val1", "192.168.100.100");
map.put("val2", "192.168.100.101");
map.put("val3", "192.168.100.102");   

但它似乎不在地图中存储整数。当我在我的代码中尝试这个时:

  System.out.println(map.get("val1"));

我得到 null 作为输出。

我的代码:
我的代码太长了,我不能贴在这里,但我可以解释其中的一部分。实际上这 3 个整数是随机数,所以每次它们都有不同的值。

  Random rand = new Random();
  int val1= rand.nextInt(101);

然后我需要将它们与 IP 相关联。然后找到最大整数并在其余代码中使用其 IP:

  int maxnum = Math.max(val3, Math.max(val1, val2));

  map.get(maxnum);  

如何解决问题并实现?

你希望你的整数是 keys,但是你构建了一个 Map,其中键类型是 String : Map<String, String> 并且如你所见,你提供了 "val1" 作为 string 的键,与 val1 不同,这里的变量指向 Integer

Integer val1 = 23 ;  
Integer val2 = 14 ;   
Integer val3 = 6;  

Map<Integer, String> map = new HashMap<>();
map.put(val1, "192.168.100.100");
map.put(val2, "192.168.100.101");
map.put(val3, "192.168.100.102"); 

System.out.println(map.get(val1)); // "192.168.100.100"
System.out.println(map.get(23));   // "192.168.100.100"