问题:我有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");
但是似乎它没有在map中存储整数。当我在代码中尝试使用此方法时:
System.out.println(map.get("val1"));
我得到null
作为输出。
我的代码:我的代码很长,我无法粘贴在这里,但我可以解释其中的一部分。实际上,这3个整数是随机数,因此每次它们都有不同的值。
Random rand = new Random();
int val1= rand.nextInt(101);
然后,我需要将它们与IP关联。然后找到最大整数并在其余代码中使用其IP:
int maxnum = Math.max(val1, val2 , val3);
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"