gpt4 book ai didi

Java HashMap 为什么返回 null?

转载 作者:行者123 更新时间:2023-12-01 21:55:17 25 4
gpt4 key购买 nike

我设置了一个测试 jar 应用程序来为我的其他程序运行,我已经为此工作了几个小时,但我找不到它返回 null 的原因。感谢您的帮助!

哈希.java

import java.util.HashMap;

public class hashy {

private static HashMap<String, Integer> targets = new HashMap<String, Integer>();

public static void main(String[] args) {
Hashymashy mash = new Hashymashy();
mash.hashyMash();
String name = "Bobby";
int num = 10;

targets.put(name, num);

if (targets.containsKey(name) == true) {
System.out.println("It contains a key!");
} else {
System.out.println("It does not contain a key!");
}
if (targets.containsValue(num) == true) {
System.out.println("It contains a value");
} else {
System.out.println("It does not contain a value!");
}
}
public HashMap<String,Integer> getTargets(){
return targets;
}
}

Hashymashy.java

 public class Hashymashy {

public void hashyMash(){
hashy h = new hashy();
String name = "Bobby";
Integer fnum = h.getTargets().get(name);

System.out.println("Number is "+fnum+"!");
}
}

最佳答案

您正在尝试检索与“Bobby”关联的值,然后再将其添加到HashMap

mash.hashyMash();

targets.put(name, num);之前调用,所以

Integer fnum = h.getTargets().get("Bobby");

将返回null,因为还没有“Bobby”

PS:对我来说似乎是一个糟糕的设计,因为 Hashymashy 类创建 hashy 类的实例,反之亦然。

关于Java HashMap 为什么返回 null?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34479314/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com