关于map.put()方法,报java.lang.NullPointerException空指针异常

在Java编程中,时不时就会遇到java.lang.NullPointerException的异常,先来看以下代码:

public class Test { 
private Map<String, String> map; 
public void test(){ 
map.put("1", "John"); 
map.put("2", "Lily"); 
System.out.println(map.toString()); 
	}

public static void main(String[] args) {  
        Test test = new Test();  
        test.test();  
	}  
} 

上面这段代码会报异常:
Exception in thread “main” java.lang.NullPointerException
问题出在map虽然初始化了,但是成员变量默认初始化为null,并没有分配内存,此时对map进行put操作,势必会报空指针异常。
解决办法是对map进行初始化,修改为以下代码即可。

public class Test { 
private Map<String, String> map = new HashMap<>(); //重要是要分配内存!
    //private Map<String, String> map; 
    public void test(){ 
    map.put("1", "jichenxiao"); 
    map.put("2", "fanwenxiao"); 
    System.out.println(map.toString()); 
}

public static void main(String[] args) {  
        Test test = new Test();  
        test.test();  
	}  
}

猜你喜欢

转载自blog.csdn.net/weixin_45202377/article/details/91298676