IT源码网

java之Android hashmap 返回 null

jillzhang 2025年02月15日 程序员 67 0

我尝试在 Activity 之间发送 HashMap ,但它始终为空。

发送代码:

public HashMap <Integer, Integer> pickedPick = new HashMap <>(); 
Intent intent = new Intent(this, CharPick.class); 
intent.putExtra("hashMap", pickedPick); 
startActivity(intent); 

接收代码:

Intent intent = getIntent(); 
pickedPick = (HashMap <Integer, Integer>) intent.getSerializableExtra("hashMap"); 

我在哪里使用它并在尝试将其发回之前获取 NPE :

if (pickedPick != null && pickedPick.keySet().contains(clicked)){ 
    pickedPick.remove(clicked); 
    pickedPick.put(clicked, picked); 
} else if (pickedPick != null) {  
    pickedPick.put(clicked, picked); 
} 
intent.putExtra("hashMap", pickedPick); 
startActivity(intent); 

这是我们在 HashMap 中添加数据的唯一位置,但它不起作用,因为 HashMap 始终被视为空。我不知道是什么原因导致它保持为空。

请您参考如下方法:

仅当 pickPick 对象为 null 时,才会执行 else 语句。所以您将获得 NPE。


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!